Devo installare programmi da un tarball di origine (`.tar.gz`), da Ubuntu Software Center o da altrove?


29

Esistono diversi modi per installare un'applicazione in Ubuntu:

  • È possibile scaricare un tarball di origine (generalmente .tar.gzun .tar.bz2file o ) e installarlo manualmente. (Vedi Come installo un file .tar.gz (o .tar.bz2)? )

  • È possibile scaricare un .debfile e installarlo manualmente, utilizzando dpkgo il Software Center.

  • Puoi cercare l'applicazione in Ubuntu Software Center e installarla lì, oppure utilizzare aptcon i repository ufficiali Ubuntu.

  • È possibile trovare un PPA o un repository di terze parti e installarlo da lì.

Quali sono i pro e i contro di ciascun metodo? Si prega di discutere le implicazioni di sicurezza, la frequenza degli aggiornamenti e l'affidabilità del programma di ciascun metodo nella risposta.


1
sono molte domande in una. Potrebbe essere leggermente meglio porre una domanda più mirata. L'impostazione predefinita è utilizzare Ubuntu Software Center. Un buon confronto / contrasto sarebbe tra tar ball (.tar.gz) e l'ecosistema apt-get + .deb (compresa la riga di comando e Ubuntu Software Center).
Warren P

Se poste come quattro domande separate, la risposta sarebbe / dovrebbe essere la stessa per tutte e quattro: preferire installare / aggiornare usando un gestore pkg da repo (principale o di terze parti). Se questa non è un'opzione, puoi iniziare a entrare nei pro e contro di questo 'n questo, ma a quel punto probabilmente riduce l'app che viene utilizzata e ciò che vuoi specificamente farne. (Ad esempio, installo lo standard fornito "java" dal repository pubblico, ma come sviluppatore installo anche 5 versioni diverse in / opt / java tramite tar.gz's).
michael

Risposte:


33
  • Affidabilità:
    • Durante l'installazione da un tarball, il software potrebbe tentare di sovrascrivere altri software. Sono necessarie dipendenze di build e il processo ha un alto tasso di fallimento. Se si installa un software da cui dipendono i pacchetti nei repository, ciò non soddisferà tale dipendenza poiché non è registrato dpkg, a meno che non venga utilizzato checkinstallper convertirlo temporaneamente in un pacchetto debian. Con questo, rischi di rompere dpkg. Anche se il codice è open-source, a meno che non ti assicuri che non sia stato modificato, dovresti comunque scaricarlo da un sito attendibile. È possibile installare più versioni del software, purché utilizzi directory diverse. Puoi sovrascriverlo nel makefile.
    • L'uso di un pacchetto debian assicurerà che i file non sovrascrivano quelli di altri programmi, tuttavia, se si utilizza sudo dpkg -i file.deb, le dipendenze devono essere installate per prime. Se installato in questo modo, non riceverai aggiornamenti se il pacchetto non si trova anche nei repository, ma questo pacchetto soddisferà le dipendenze che richiedono questo software. Molto probabilmente fornirà a questo pacchetto una voce di menu o almeno registrerà le manpage. I pacchetti Debian di solito sono testati con Lintian, il che assicura che i pacchetti soddisfino o superino un insieme di standard che possono essere piuttosto rigorosi, spingendo fino a che alcuni file abbiano o meno un codice eseguibile. Non è possibile installare più versioni dello stesso pacchetto. Un pacchetto creato in modo errato può non riuscire a installarsi, non riuscire a rimuoverlo o persino a interrompere DPKG, portando a riparazioni difficili, ricerche frenetiche di backup o persino a una reinstallazione se il problema è grave.
    • L'uso aptè l'opzione migliore quando possibile. Le dipendenze verranno automaticamente recuperate e installate e i pacchetti vengono creati utilizzando configurazioni affidabili del server di build al launchpad, riducendo al minimo gli errori. I pacchetti possono essere cercati attraverso aptitudeo altri strumenti simili e gli aggiornamenti saranno facilmente facilitati tramite il gestore aggiornamenti. Poiché anche le dipendenze provengono apt, è più probabile che il pacchetto interagisca correttamente con le dipendenze. I pacchetti vengono testati tramite Lintian come con debs, ma i test, combinati con server di build altamente stabili, rendono i pacchetti ancora più stabili. Poiché i pacchetti passano attraverso i server di compilazione di Ubuntu, molto probabilmente verranno modificati per integrarsi con il resto del sistema operativo. Più versioni dello stesso pacchetto non possonoessere installato. Poiché i server di build di Ubuntu sono utilizzati per i PPA, ci sono meno cambiamenti che si rompono a aptcausa del linoleum automatico.
  • In aggiornamento:
    • Con un tarball, non otterrai aggiornamenti, a meno che il programma non abbia il proprio controllo per loro. Con ciò, dovrai installare tali aggiornamenti manualmente e non saranno consolidati in un unico posto. Probabilmente sarai in grado di ottenere il codice sorgente notturno o anche corrente in un tarball da compilare e installare. Se hai bisogno di un codice bleeding-edge, questo può essere utile.
    • Con debian, i pacchetti verranno aggiornati solo se si dispone del repository per essi. Molto probabilmente gli sviluppatori realizzeranno pacchetti debian un po 'indietro rispetto alla fonte bleeding edge, ma i beta si trovano spesso con i debs online.
    • Con apt, i pacchetti saranno aggiornati molto facilmente. Gli aggiornamenti sono consolidati in un unico punto, il gestore aggiornamenti, e vengono eseguiti automaticamente o semi-automaticamente. A meno che non ti trovi su una versione alpha o beta di Ubuntu, utilizzerai versioni ben collaudate, anche se sono una o due versioni dietro l'attuale sorgente upstream. Gli aggiornamenti di sicurezza verranno inviati non appena vengono sottoposti a test leggeri per assicurarsi che non peggiorino ulteriormente la situazione. Ciò significa che la tua sicurezza sarà protetta con aggiornamenti tempestivi, ma questi aggiornamenti saranno controllati per evitare la perdita di dati.
  • Sicurezza:
    • I tarball non sono firmati digitalmente in alcun modo. Possono essere alterati o modificati da terze parti dannose. Anche se fai un hashsum (Evita MD5), dovresti comunque fidarti del proprietario del sito e dell'autore del pacchetto, poiché forniscono somme SHA o MD5.
    • I pacchetti Debian non sono firmati, tuttavia dpkgnon permetteranno a un pacchetto debian di sovrascrivere i file di un altro, quindi un deb dannoso non può distruggere inito rovinare bashsovrascrivendolo. Devi sempre fidarti del sito web e dell'autore del pacchetto.
    • aptusa le chiavi firmate per i repository, in modo che non possano essere alterate senza che appaia una bandiera rossa. I caricamenti PPA sono firmati digitalmente in modo che i non proprietari del PPA non possano creare pacchetti rotti o non sicuri. Viene anche applicata la non sovrascrittura per i file di un altro pacchetto. Naturalmente, dovresti fidarti del PPA o del proprietario del repository, poiché i pacchetti non controllati con codice dannoso verranno eseguiti al momento dell'esecuzione.

1
Ti suggerisco di aggiungere l'integrazione. Ubuntu e i gestori di pacchetti Debian upstream si assicurano che i pacchetti partecipino a funzionalità a livello di sistema, come il sistema alternativo (ho programmi X che possono aprire una pagina web, quale voglio essere predefinito) e così via. Un'installazione tarball manuale di solito non funziona in questo modo.
Warren P

@WarrenP L'ho effettivamente aggiunto, ma potrebbe non essere chiaro. Grazie!
ζ--

Era "Se si sta installando un software da cui dipendono i pacchetti nei repository, ciò non soddisferà tale dipendenza poiché non è registrato con dpkg ." nel primo punto elenco destinato a coprire l' integrazione ?

1
@ vasa1 Questo riguarda i tarball, poiché Apt e dpkg controlleranno i loro database, non il filesystem, per determinare se un pacchetto è installato. Puoi sempre usare checkinstallper aggirare quello.
ζ--

19

La risposta breve è che l' installazione da Ubuntu Software Center è generalmente preferibile a tutti gli altri metodi . Tuttavia, ci sono momenti in cui potresti voler installare un programma da qualche altra parte.


Installazione da sorgente:

  • Implicazioni sulla sicurezza : devi fidarti degli autori del software e del sito Web che ospita il download. È inoltre necessario verificare che il download venga eseguito tramite HTTPS, altrimenti una terza parte potrebbe modificarlo.

  • Frequenza degli aggiornamenti : otterrai sempre le ultime novità e le migliori! Gli aggiornamenti saranno frequenti quanto gli autori originali scelgono. Tuttavia, dovrai verificare manualmente gli aggiornamenti.

  • Affidabilità : potrebbe non essere affidabile come altri metodi, perché il software avrà subito meno test e potrebbe non essere nemmeno stato testato per Ubuntu, ma solo per altre distro Linux.

  • Facilità di installazione e disinstallazione : la più difficile di tutte le opzioni. Anche gli utenti esperti possono evitare questa opzione, perché preferiscono usare pacchetti Debian nativi, che sono molto più facili da gestire.

Installazione da un .debpacchetto:

  • Implicazioni sulla sicurezza : uguale all'installazione dall'origine.

  • Frequenza degli aggiornamenti : identica all'installazione dall'origine.

  • Affidabilità : leggermente migliore rispetto all'installazione dalla sorgente. Se gli autori hanno fornito un .debpacchetto, ciò implica che probabilmente hanno effettuato alcuni test minimi su Debian o Ubuntu.

  • Facilità di installazione e disinstallazione : molto semplice. Basta fare doppio clic e fare clic su "Installa"! Allo stesso modo facile per la disinstallazione.

Installazione da Ubuntu Software Center:

  • Implicazioni sulla sicurezza : devi fidarti degli autori del software e dei manutentori del repository di Ubuntu. Nel complesso, si tratta di una sicurezza migliore rispetto all'installazione diretta dal sorgente, poiché il programma è stato in qualche modo rivisto dai manutentori di Debian e / o Ubuntu. I manutentori Debian e / o Ubuntu possono patchare il programma per correggere anche i difetti di sicurezza, se il programma è open source.

  • Frequenza degli aggiornamenti : i manutentori Debian e / o Ubuntu selezionano solo alcune versioni del software. (Ad esempio, possono solo scegliere aggiornamenti stabili). C'è un ritardo tra il rilascio di un programma e la sua inclusione nei repository Debian e / o Ubuntu. Se vuoi l'ultimo e il massimo, questa non è l'opzione migliore. Se vuoi aggiornamenti stabili che sono stati rivisti, questa è una buona opzione. Gli aggiornamenti vengono proposti automaticamente tramite il gestore aggiornamenti e apt-get.

  • Affidabilità : molto meglio dell'installazione da sorgente, poiché il programma è stato rivisto e adattato per Ubuntu.

  • Facilità di installazione e disinstallazione : molto, molto semplice.

Installazione da un PPA o un repository di terze parti:

  • Implicazioni sulla sicurezza : devi fidarti degli autori del software e di chiunque mantenga il PPA. Assolutamente chiunque può ospitare un PPA, quindi non fidarti del PPA solo perché è su Launchpad. L'utente avrebbe potuto essere pigro e non rivedere affatto il software.

  • Frequenza degli aggiornamenti : dipende dal PPA. Controllare gli aggiornamenti è facile.

  • Affidabilità : spesso meno affidabile dell'installazione da Ubuntu Software Center. I PPA sono presenti per programmi che non soddisfano ancora gli standard di Ubuntu Software Center, quindi sono praticamente garantiti per essere meno affidabili.

  • Facilità di installazione e disinstallazione : non è difficile da imparare e si adatta bene alla gestione dei pacchetti di Ubuntu.


1
L'USC è comunque solo un frontend apt-get. Non trasformiamo questo in un dibattito tra GUI e riga di comando. Se pensi che valga la pena discutere di questa scelta, fai un'altra domanda.
Flimm,

2
@Flimm: non del tutto, USC può anche installare il pacchetto .deb, quindi è più appropriato chiamare USC un frontend per apt-get e dpkg.
Lie Ryan

1
Non sto dicendo "dibattito", sto dicendo "gli utenti vengono qui per avere chiarezza, e questa domanda e questa risposta non sembrano chiarire molto le cose".
Warren P

1
@LieRyan: d'accordo.
Flimm,

1
@ WarrenP: non sono d'accordo su ciò per cui gli utenti vengono qui. Gli utenti vengono qui per decidere da dove scaricare e installare un'applicazione. Se ciò non è chiaro dalla domanda, possiamo modificarlo. Penso che la domanda sia chiara, se hai un'altra domanda che è più utile per gli utenti, crea un nuovo post di domande.
Flimm,
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.