Comprensione di diverse distribuzioni Linux


12

Sto avendo un po 'di confusione quando capisco i sistemi operativi basati su Linux. Quando scarico la versione più recente di Mint e Ubuntu, non sono "uguali" nel loro core (kernel)? Sembra che abbiano diverse GUI? Una GUI non è tecnicamente solo un programma che viene eseguito all'avvio di un computer? Come per Windows (DOS è il core ma explorer.exe è la GUI). Qualcuno è in grado di spiegare questo?

Con il comando sudo apt-get non posso installare Ubuntu da un Terminale di zecca?

So che si tratta di un casino di domande, ma spero che qualcuno possa chiarire le differenze tra più distro prima che appaia la GUI e poi dopo che appare la GUI.

Risposte:


10

Primo: Windows non è stata una GUI DOS per un po 'di tempo; Windows basato su NT (NT / 2000 / XP / Vista / 7/8) sono totalmente indipendenti dal DOS. explorer.exe non è nemmeno la GUI: è solo una shell (puoi trovare sostituzioni di shell anche per Windows)

In sostanza, tutte le distro si basano sul kernel Linux; le principali differenze (dal punto di vista dell'utente finale - ci sono differenze, ad esempio, nei sistemi init, nei file /etce in altri luoghi) - tra le distribuzioni sono:

  • gestione del pacchetto

Ubuntu, Mint e tutte le altre distro basate su Debian usano dpkg / APT come sistema di packaging. Altre distribuzioni useranno altri sistemi (ad esempio Red Hat, Fedora, SuSE utilizzerà RPM, Arch utilizzerà pacman).

  • selezione di pacchetti

In effetti, Mint è un Ubuntu con alcuni pacchetti extra (ad es. Codec, non incluso con Ubuntu per motivi di brevetto / copyright) e un tema diverso (per creare un'identità personalizzata ed evitare domande sul marchio / plagio e la confusione dell'utente).

Certo, puoi installare qualsiasi altra GUI in Mint: potresti usare l'ambiente desktop di Mint ( Cinnamon ) in Ubuntu e tecnicamente (la realtà è un'altra storia: probabilmente ti imbatterai in conflitti di pacchetti) dovresti essere in grado di installare Unity e l'identità visiva di Ubuntu (temi, icone) in Menta.

Quindi, in teoria, potresti trasformare Ubuntu in un sistema Mint-ish, ma in pratica è abbastanza difficile da fare.


Secondo il commento sulla differenza tra 'interfaccia' e 'shell', che può creare confusione:

Nel mondo UNIX, "shell" ha già un significato specifico e ben accettato :

Una shell Unix è un interprete della riga di comando o shell che fornisce un'interfaccia utente tradizionale per il sistema operativo Unix e per i sistemi simili a Unix.

Confronta con la shell di Windows, che è completamente diversa :

La shell di Windows è la principale interfaccia utente grafica in Microsoft Windows. La shell di Windows include noti componenti di Windows come la barra delle applicazioni e il menu Start. La shell di Windows non è la stessa di una "shell della riga di comando", ma i due concetti sono correlati.

Nel nostro caso chiameremmo Cinnamon (o KDE, GNOME, Unity, XFCE) un ambiente desktop : un insieme di applicazioni (gestore di finestre, pannelli, elementi della barra delle notifiche ecc ...) che forniscono l'esperienza dell'utente.


Mint's Interface (Cinnamon), è una "interfaccia" o più di una "shell" di cui stavi parlando?
EGHDK,

In UNIX / Linux il termine "interfaccia" è più adeguato per le GUI, poiché "shell" ha già un significato specifico (una shell da riga di comando come basho zsh). Oppure puoi chiamarlo "ambiente desktop".
Renan,

Quindi il terminale a è un guscio?
EGHDK,

1
@EGHDK Non proprio: una shell (nel significato di UNIX) gira all'interno di un terminale. Questo è spiegato in Qual è la differenza esatta tra un 'terminale', una 'shell', una 'tty' e una 'console'?
Renan,

Perfetto. Hai risposto a tutte le mie domande. Grazie! Lo apprezzo molto.
EGHDK,

8

Per capire qual è la differenza tra le distro, forse dovresti guardare di nuovo cos'è una distro.

Che cos'è una distro

Probabilmente sai tutto questo, ma ripensaci. Linux è solo un kernel. Nella maggior parte dei casi, è completamente inutile da solo. La maggior parte di ciò che fa è semplicemente fornire un'interfaccia software all'hardware sul tuo computer in modo che altri programmi lo utilizzino. Una distribuzione è molto più complessa di questa. Tenere in considerazione:

  • Una scelta di applicazioni e librerie specifiche per l'uso della distribuzione.
  • Strumenti per gestire e mantenere il sistema.
  • Canale di documentazione e supporto.
  • Un ciclo di rilascio e gestione della comunità.

Ci sono molti livelli software aggiunti su Linux per creare qualcosa come Ubuntu o Mint, con infinite possibilità di configurazioni e scelte da fare.

Dovresti anche tenere conto della natura dell'editor della distro. Progetti come Red Hat, SuSE o Ubuntu servono allo scopo delle imprese mentre altri come Mint, Debian o Gentoo sono gestiti da volontari.

Qual è la differenza tra una distro e l'altra

Praticamente qualsiasi applicazione in esecuzione su una distribuzione è disponibile (o facilmente trasportabile) su un'altra. Dopotutto, sono tutti sistemi Unix molto simili. Tuttavia, indipendentemente da ciò che fai, non puoi cambiare il ciclo di rilascio della tua distribuzione, la velocità con cui vengono confezionate le nuove versioni o semplicemente l'aspetto del loro forum ufficiale. Forse un esempio ti mostrerebbe meglio:

Diciamo che sto aspettando con impazienza la nuova versione del mio software, ad esempio Python-3.3 che è prevista tra qualche giorno. Come sarà disponibile per diverse distro:

  • Le distribuzioni a rilascio progressivo (come Arch Linux o Gentoo) lo renderanno rapidamente disponibile nei loro repository. Non appena il manutentore lo impacchetta e vengono eseguiti i test di base, è disponibile.
  • Le distribuzioni Enterprise probabilmente lo prometteranno per "prossime versioni". Nel frattempo è ancora disponibile ma non sarà in alcun canale ufficiale.
  • Debian non lo renderà disponibile prima di essere accuratamente testato, un processo che può richiedere anni. Tuttavia, rende il repository di test molto facilmente disponibile per il pubblico. (Ad esempio Ubuntu crea le proprie versioni da questo repository di versioni ogni 6 mesi).

Qual è la vera differenza tra Mint e Ubuntu.

Per la cronaca, dovrei sottolineare che non ho usato Ubuntu per oltre 2 anni e ho usato a malapena Mint per alcuni mesi 4 anni fa. Quello che sto dicendo qui potrebbe non essere molto preciso.

La differenza tra Mint e Ubuntu è minima, dopo tutto Mint è completamente basata su Ubuntu. Inizialmente, Mint era semplicemente un riconfezionamento di Ubuntu con 3 differenze:

  • Ha fornito tecnologie proprietarie nella loro installazione predefinita (cosa che Ubuntu non ha).
  • Ha fornito alcuni strumenti grafici come il menu della barra delle applicazioni o il programma di installazione dell'app che ha patchato sopra l'installazione di base di Ubuntu.
  • Aveva una maggiore attenzione all'estetica. Il suo solgan è ancora "Dalla libertà è arrivata l'eleganza".

Qualche anno fa, lo scisma si è allargato quando Ubuntu ha cercato di spingere l'ambiente grafico di Unity, la comunità di Mint ha fatto molto per rifiutarlo. Ecco come è nata la cannella.

Non l'ho mai provato, ma non sarei sorpreso se qualcuno fa girare Cinnamon su Ubuntu e Unity su Mint. L'argomento che sto cercando di fare è:

Le differenze tra le distro come Mint e Ubuntu riguardano molto di più la comunità e le scelte sottili rispetto al software stesso.

Ulteriori letture


Non ho potuto modificare la risposta perché voglio solo aggiungere una parola e una modifica richiede sei caratteri .... Vorrei sottolineare che probabilmente ti manca una parola vicino all'inizio della risposta, poche righe in basso dice: "altri programmi lo usano" dovrebbe essere "altri programmi lo canusano"
qualcosa del

5

Questa è una buona domanda. La mia comprensione è che teoricamente potresti, ma potrebbe non funzionare come previsto. Sebbene Mint sia basato su Ubuntu, Ubuntu e Mint utilizzano diversi repository software. Questi repository sono ciò che rende unica ogni distribuzione. Su qualsiasi sistema desktop Mint o Ubuntu, puoi impostare i repository su tutto ciò che desideri. Quindi, potresti prendere un sistema che è stato installato come Mint e cambiare tutti i repository in repository Ubuntu. Quindi, se reinstalli tutti i pacchetti, hai sostanzialmente Ubuntu. Tuttavia, Ubuntu e Mint fanno ciascuno le loro piccole modifiche al codice (che a sua volta si basa su Debian). Quindi, se i pacchetti Mint prevedono una serie di modifiche, ma i pacchetti Ubuntu forniscono una serie completamente diversa di modifiche, si potrebbe finire con un sistema molto rotto.

Anche alcune delle diverse "versioni" di Ubuntu hanno modifiche davvero bizzarre al loro codice. Questo perché Canonical si concentra sulla facilità d'uso piuttosto che sulla correttezza o interoperabilità del codice. Di recente, ho provato a installare Xfce4 su un'installazione "server" di Ubuntu 13.04. Ho finito con un sistema completamente rotto. E 'stato un casino completo. Ho finito per installare Ubuntu 13.04 normale e quindi installare xfce su di esso. Tutto ha funzionato misteriosamente. Alcuni menu e programmi sembravano anche più belli, come se fossero stati resi con un motore completamente diverso. Comunque, ho usato tutti gli stessi file di configurazione e pacchetti che avevo usato sull'installazione del server (e per un'installazione Debian che funziona perfettamente sullo stesso computer).

Questa è solo magia canonica per te. Se lasci tutto come lo forniscono, di solito funziona bene. Se tocchi anche la minima cosa, allora le cose possono iniziare a diventare davvero strane.


A proposito, mi dispiace per la pubblicazione su un vecchio post, ma questa domanda viene visualizzata nella parte superiore di alcune ricerche di Google.
James Harris,

Benvenuti in Unix & Linux StackExchange! Rispondere alle vecchie domande non è visto di buon occhio qui. Assicurati di fermarti alle FAQ .

4

Mi concentrerei sugli obiettivi di diverse distribuzioni piuttosto che su dettagli quali quale gestore di pacchetti usano o quali versioni di software attualmente spediscono. Un buon obiettivo può portarti da zero a leader di mercato nel tuo spazio se è quello che stai cercando (è Ubuntu quando sono stati lanciati, ma in precedenza anche Red Hat) e alcune decisioni tecnologiche abbastanza fondamentali possono cambiare se questo è percepito come importante per il obiettivo (l'insistenza di Ubuntu su Unity potrebbe essere un esempio).

  • Red Hat: successo commerciale originariamente (all'epoca estremamente innovativo) fornendo servizi a pagamento agli utenti del tuo prodotto gratuito. Più di recente, addebitare effettivamente quel prodotto (non sono sicuro di come sia la visione ora). Una base clienti di grandi dimensioni significa riluttante al cambiamento: la stabilità supera l'innovazione.
  • Debian: libertà e portabilità. "Universale" significa provare a funzionare su molte piattaforme; forte attenzione all'open source significa che qualsiasi cosa con componenti di origine chiusa è iffy. La stabilità è importante, quindi, abbastanza lenta e conservatrice.
  • Fedora: originariamente, la versione gratuita di Red Hat è diventata commerciale. In pratica, simile a Debian nello zelo open source, ma è più probabile che provi cose nuove e audaci. Utilizzato da Red Hat come banco di prova per nuovi sviluppi.
  • CentOS: Red Hat gratis.
  • Ubuntu: dominanza desktop. Facilità d'uso (o almeno facilità di familiarizzazione) e suite di app standardizzate per attirare una vasta base di utenti. Migliora il ritmo lento di Debian mantenendo un ciclo di rilascio fisso di sei mesi basato sui test Debian.
  • Menta: Ubuntu senza Unity.
  • Arch: fornisce l'ultima versione stabile di ogni pacchetto a monte con un minimo di imballaggio specifico per la distribuzione ecc. E un modello a rilascio progressivo.
  • Slackware: sii semplice e simile a Unix e levati di mezzo.
  • Gentoo: controllo dettagliato sulla compilazione di pacchetti locali basata su un nuovo gestore di pacchetti chiamato emerge.

Questo elenco è ovviamente abbreviato. Molte distro popolari sono varianti, spin-off o forcelle di cui sopra. L'elenco di Wikipedia delle distribuzioni Linux è abbastanza completo e ragionevolmente strutturato. Vedi anche https://distrowatch.com/ per dettagli come le statistiche attuali sulla popolarità.

Un corollario importante è la gestione delle aspettative. Una distro che si concentra sulla compatibilità universale e sulla libertà può prendere meno seriamente l'usabilità o la compatibilità con uno specifico gizmo attualmente popolare e viceversa. Una distro che si concentra su ingombro ridotto e prestazioni su hardware legacy probabilmente non vorrà impegnarsi molto in accattivanti come effetti desktop animati o casi d'uso come editing video, simulazioni 3D o giochi fotorealistici che spingono all'infinito generazione di hardware. Una distro il cui obiettivo è fornire un'esperienza semplice e uniforme per le persone che non conoscono i computer non si preoccuperà se un driver del kernel del filesystem all'avanguardia funziona sui loro sistemi. Eccetera.

Ciò dovrebbe anche informare la risposta alla tua domanda concreta. Probabilmente non è troppo difficile far funzionare Unity su Mint, ma perché preferiresti che semplicemente eseguendo Ubuntu? È chiaramente possibile eseguire Ubuntu con Cinnamon, ma finiresti per reinventare Mint e lo sforzo è probabilmente significativo; altrimenti perché avrebbero dovuto scartare un progetto separato solo per fornirlo? E questo in realtà illustra come una distro potrebbe considerare un particolare pezzo di politica o architettura come tecnicamente o strategicamente abbastanza critico da influenzare altri componenti su e giù per la catena delle dipendenze in modi non banali, il che ovviamente significa anche che sono necessarie molte soluzioni alternative se si prova per rimuoverlo comunque.

Eppure, queste sono due distro strettamente correlate; se si tenta di eseguire il porting del software tra le distro, diventa sempre più difficile l'uno dall'altro in termini di obiettivi, politiche e decisioni architetturali risultanti, nonché patrimonio e infrastruttura condivisi come reti di distribuzione di pacchetti, standard di supporto, ad es. periferiche hardware o internazionalizzazione, ecc.


Ho quasi finito il vapore. Sentiti libero di aggiornare o aggiungere a questo.
tripleee,

Dato che raccogli tutto, puoi anche riferirti a distro slackware, cioè Porteus.
George Vasiliou,

Immagino che anche openSUSE dovrebbe essere nella lista, ma non riesco a capire se hanno un obiettivo di qualche tipo, oltre a "essere tedeschi".
tripleee,

0

Le distribuzioni Linux sono molto più di un kernel. Sono tutte le applicazioni in esecuzione sul kernel (incluso apt-get), incluse molte cose di livello molto basso come il sistema init. In effetti la scelta delle applicazioni utilizzate è il punto di definizione di molte distribuzioni.

Non puoi installare Ubuntu da Mint più di quanto potresti portare il tuo Cadilac in un negozio di auto e chiedere loro di trasformarlo in una Porsche ma mantenere intatto il Cadilac. Potrebbero convertire il tuo Cadilac in una Porsche con molto sforzo e spese: dopotutto entrambi hanno motori simili sotto il cofano. Allo stesso modo, potresti teoricamente convertire un'installazione di Linux Mint in un'installazione di Ubuntu (non provarci, è un grande sforzo), ma sono due prodotti distinti. Avere uno installato nello stesso posto di un altro non è significativo o possibile.


0

In breve: ciò che rende l'identità di una distribuzione Linux è costituito da:

  • La configurazione del kernel: sì: tutte le distribuzioni provengono dallo stesso codice sorgente, ma tra il codice sorgente e il binario effettivo in esecuzione sul computer, esiste il processo di compilazione, che prevede la "configurazione", ovvero la scelta.

  • La scelta del software che crea l'interfaccia tra l'hardware e il kernel, insieme alla sua configurazione in fase di compilazione

  • La scelta del software che crea l'interfaccia che l'utente, l'utente, utilizzerà. È qui che va il 99% del codice di una distribuzione. Ancora una volta tutto si riduce a: quale software viene scelto e come viene configurato e compilato.

Tutte queste scelte sono nascoste da te in una distribuzione, in quanto sono già fatte e "confezionate" per te. In questo modo, una distribuzione Linux è costruita nella speranza che si adatti alla maggior parte degli utenti. Ma l'effetto collaterale è che non è ottimizzato per le tue esigenze.

Se vuoi imparare molte cose su come vengono create le distribuzioni Linux, ti suggerisco di provare a costruire la tua distribuzione. Il progetto "Linux From Scratch" mi ha aiutato molto.

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.