kutombawewe.net

Qual è la differenza tra yum, apt-get, rpm, ./configure && make install?

Sono nuovo di Linux e sto facendo girare CentOS. Ho trovato quattro modi per aggiornare o installare il software.

Finora, ho visto:

  • yum install [program]
  • apt-get install [program]
  • rpm -i [program].rpm
  • wget [program].tar.gz -> unpack -> ./configure -> make -> make install

Quest'ultima è una vera sofferenza, specialmente proveniente da Windows, dove l'installazione di un programma è di solito un clic e una procedura guidata per l'installazione di Nice.

Quindi, le mie domande sono:

  • Perché ci sono così tanti modi diversi per farlo in Linux?
  • Quale raccomandi di usare e perché?
  • Ci sono altri modi per installare programmi in Linux?
118
Saif Bechan

Questi strumenti installano tutti software nel tuo sistema, ma stanno lavorando su diversi livelli.

  • ./configure && make install

    L'esecuzione di ./configure && make install crea e installa le librerie o gli eseguibili direttamente dal codice sorgente.

    Il passo make install fondamentalmente copia solo i file finali nel tuo sistema. Molte fonti sono dotate di una speciale regola make uninstall per rimuoverle di nuovo, ma questo non è garantito e, naturalmente, funziona solo finché ci sono le origini configurate in giro. Inoltre, questo non si occupa delle dipendenze richieste.

    Spesso c'è solo il codice sorgente disponibile per un determinato pacchetto, quindi questa è l'unica strada da percorrere. Inoltre, ./configure solitamente accetta molte opzioni che ti permettono di personalizzare il tuo pacchetto.

    Non essere in grado di scoprire quale software ha installato quale file e la mancanza di un modo affidabile per rimuoverli dal sistema sono gravi carenze di questo approccio.

  • RPM(Gestore pacchetti Redhat)

    rpm installa il software già configurato e compilato nel tuo sistema e viene fornito con una disinstallazione per sbarazzartene di nuovo. I pacchetti devono essere creati da qualcuno. Questa persona ha già deciso quali caratteristiche includere e come integrare al meglio il pacchetto nel proprio layout di sistema. Inoltre viene fornito con un elenco di dipendenze.

    Dato che gli rpms sono usati per molte distribuzioni, spesso vorrete assicurarvi che questo rpm sia stato scritto per la vostra distribuzione in modo che i percorsi di installazione, le dipendenze e le altre cose di Housekeeping si integrino bene.

    Sui sistemi Debian, il formato del pacchetto equivalente è .deb e l'installazione e il database sono gestiti dallo strumento dpkg.

  • Yum

    yum è un ulteriore wrapper attorno a rpm. Mantiene il proprio database di file rpm disponibili per la propria distribuzione, generalmente nei repository online. Per le versioni stabili della maggior parte delle distribuzioni tutti i pacchetti all'interno di quel database giocheranno bene tra loro. Questo database può essere cercato (ad es. Con yum search some_name).

    Inoltre, risolverà automaticamente le dipendenze per te. I pacchetti (e con qualche aiuto in più le loro dipendenze) possono essere facilmente disinstallati.

    Sui sistemi Debian, gli archivi equivalenti e gli strumenti di risoluzione delle dipendenze sono forniti da Apt (apt-get e aptitude).

Quindi riassumendo: se vuoi solo un po 'di software, prova prima yum. Se non è disponibile lì, puoi provare a trovare un pacchetto rpm esistente. Se non ce n'è nessuno o hai dei requisiti speciali, costruisci dal sorgente.

109
Benjamin Bannier

Yum sono RPM sono la stessa cosa tranne che yum ottiene automaticamente i pacchetti dalla rete e li installa (usando rpm -i) in un solo passaggio. Dovrebbe essere usato ogni volta che è possibile per facilitare l'aggiornamento. Usa rpm solo quando non ci sono pacchetti da trovare yum, e usa il metodo make solo quando non è disponibile il pacchetto .rpm o devi modificare alcune opzioni di compilazione.

4
marcusw