Perché i formati di pacchetto rpm e deb non sono unificati in un unico sistema standard?

4

Ho avuto questa domanda chiesto su stackoverflow, ma è stato chiuso " come non una vera domanda ".

Quindi ho deciso di rimuovere tutto il brontolio e postare la domanda qui, supponendo che questo stackexchange sia per "domande concettuali sullo sviluppo del software"

La domanda principale è nel titolo: Perché i formati di pacchetto rpm e deb non sono unificati in un sistema standard?

Penso che questo sia un passo molto importante, che dobbiamo fare, perché tale frammentazione del formato è cattiva, e non solo per sviluppatori di software indipendenti, ma per altri strumenti e linguaggi, che reinventano la propria confezione, come vim, python, ruby, nodejs, php, eclipse e molti altri

    
posta retif 15.08.2012 - 14:34
fonte

3 risposte

6

Perché ciò creerebbe un altro standard e dovresti comunque supportare sia rpm che deb.

Il modo naturale è che uno mostri che è così superiore che la gente smette di usare l'altro.

    
risposta data 15.08.2012 - 15:01
fonte
4

Questo perché DEB e RPM sono essenzialmente modi diversi di fare le cose e potrebbero essere visti come una sorta di disaccordo risultante in due sistemi separati.

Ecco un'interessante discussione sull'argomento: link

C'è un tentativo di standardizzare i formati dei pacchetti nel progetto Base standard Linux , tuttavia sembra che Debian sia stato escluso dal fornire input e un sottoinsieme di RPM è stato scelto come formato del pacchetto. Da Wikipedia:

Choice of RPM package format

The LSB specifies that software packages should either be delivered as an LSB-compliant installer[11], or (preferably) be delivered in a restricted form of the RPM Package Manager format.[12]

This choice of package format precludes the use of the many other, existing package formats not compatible with RPM. To address this, the standard does not dictate what package format the system must use for its own packages, merely that RPM must be supported to allow packages from third-party distributors to be installed on a conforming system.

Limitations on Debian

Debian has included optional support for the LSB early on, at version 1.1 in "woody" and 2.0 in "sarge", and later 3.1 in "etch" and 3.2 in "lenny". To use foreign LSB-compliant RPM packages, the end-user needs to use Debian's Alien program to transform them into the native package format and then install them.

The LSB-specified RPM format has a restricted subset of RPM features—to block usage of RPM features that would be untranslatable to .deb with Alien or other package conversion programs, and vice versa, as each format has capabilities the other lacks. In practice, not all Linux binary packages are necessarily LSB-compliant, so while most can be converted between .rpm and .deb, this operation is restricted to a subset of packages.

By using Alien, Debian is LSB-compatible for all intents and purposes, but according to the description of their lsb package,[13] the presence of the package "does not imply that we believe that Debian fully complies with the Linux Standard Base, and should not be construed as a statement that Debian is LSB-compliant."[13]

In general, Debian does strive to comply with the LSB, but there may be other limitations.[14]

Da quello che ho letto i set di funzionalità sono così diversi che sarebbe molto difficile unire i due. Sembra esserci almeno un desiderio di standardizzazione, ma se dovessi fare una scommessa direi che il sistema di gestione dei packagae di Debian probabilmente prenderà il sopravvento, semplicemente a causa della pura quota di mercato di Ubuntu e alcuni pacchetti che fanno solo Debian pacchetti o eseguendo prima i pacchetti Debian.

    
risposta data 15.08.2012 - 15:25
fonte
2

Poiché i formati non sono stati progettati per rendere le cose facili per gli sviluppatori di software indipendenti, sono stati progettati per facilitare le cose ai distributori indipendenti di sistemi operativi, e RedHat e Debian non potrebbero preoccuparsi di meno del formato utilizzato dall'altro. È come chiedere perché è così difficile suonare Vivaldi con una chitarra elettrica.

Detto questo, le persone hanno provato. AutoPackage è il più notevole di cui sono a conoscenza. Non sostituisce sostituisce il gestore di pacchetti nativo, ma lo integra, il che probabilmente è il motivo per cui ha avuto più successo dei tentativi one-ring-to-rule-them-all. L'altra cosa che la gente comunemente usa è Alien , che può convertire da un formato all'altro. L'altra soluzione comune se il tuo software più importante è solo impacchettato in un formato è semplicemente per passare alla distribuzione che supporta quel formato.

Per quanto riguarda gli sviluppatori di software indipendenti, la maggior parte prende uno dei tre approcci. Alcuni progetti open source si limitano a distribuire in formato sorgente e contano sulle distribuzioni per gestire i formati binari. Il software closed source su Linux viene solitamente distribuito con una sorta di programma di installazione di script bash personalizzato. Inoltre, gli sviluppatori open source e closed distribuiscono frequentemente entrambi i formati rpm e deb. Ci vuole forse un giorno lavorativo per impostare tutto, quindi raramente devi preoccuparti di questo. Se non fosse così facile, più persone chiederebbero a gran voce una modifica.

    
risposta data 15.08.2012 - 17:41
fonte

Leggi altre domande sui tag