Comprensione dei sistemi di gestione dei pacchetti

1

Sto tentando di capire cos'è un sistema di gestione dei pacchetti. Comprendo il concetto principale ma ho alcune domande.

  • Un sistema di gestione dei pacchetti installa funzionalità (compilatori, librerie, macchine virtuali) necessarie per eseguire un'applicazione E installa un'applicazione o semplicemente installa le funzionalità necessarie per eseguire un'applicazione?
  • Le applicazioni esterne dei sistemi di gestione dei pacchetti vengono eseguite con argomenti della riga di comando o sono librerie API che vengono integrate nel codice del programma di installazione?

Per usare un esempio; se la mia applicazione utilizza python 2.7 e wxPython un sistema di gestione dei pacchetti garantisce che python 2.7 sia installato e wxPython sia installato, quindi installa finalmente la mia applicazione (file di script python)?

    
posta nondescript 07.04.2013 - 07:47
fonte

1 risposta

3

I sistemi di gestione dei pacchetti e gli installatori (questi ultimi disponibili sui sistemi Windows) possono e devono garantire che l'intero ambiente di lavoro, in particolare le librerie e il programma stesso, siano installati su un sistema. Questo normalmente include tutte le dipendenze dirette, ma non cose come compilatori o linker che sono richiesti solo durante lo sviluppo. Ci sono pacchetti sorgente che devono essere compilati sul sistema di destinazione in questo caso a volte può controllare se alcune cose sono disponibili, ma normalmente non le installerebbe. Normalmente riceverai messaggi di errore o avvertimenti durante il processo di compilazione.

Quindi, se possibile, il pacchetto installerà direttamente tutto il necessario per eseguire un programma (se si esegue un gestore di pacchetti su Linux, si ricevono spesso informazioni come "È necessario installare 15 pacchetti aggiuntivi. Continua?" Questi pacchetti aggiuntivi sono librerie e altre dipendenze). Quando crei i tuoi pacchetti puoi definire qualsiasi tipo di dipendenza che ti piace, non sei limitato alle librerie ma potresti avere pacchetti per la grafica o la documentazione o qualsiasi altra risorsa che potresti scegliere di mantenere indipendente dal programma stesso.

Ci sono strumenti da riga di comando come apt-get (lo strumento utilizzato per la gestione dei pacchetti su sistemi basati su Debian), ma ci sono anche programmi GUI per eseguire tali compiti (ma spesso forniscono solo una GUI e in realtà chiamano gli strumenti cl) . Ma quegli stessi strumenti cl usano le funzioni di alcune librerie che in teoria potresti includere in qualsiasi programma ti piaccia.

Quindi i gestori di pacchetti si comportano in qualche modo in modo simile agli installer. La differenza principale è che un pm fa parte del sistema operativo e mantiene le informazioni sui pacchetti installati in un punto centrale. Gli installatori sono più probabili su Windows e si comportano in modo un po 'più indipendente e sono programmi autonomi (utilizzando anche la funzionalità di sistema, come il registro). I programmi di installazione sono piuttosto rari sui sistemi Linux, ma nulla potrebbe impedirti di scriverne uno se il tuo software ne avesse bisogno e basarlo sulle librerie utilizzate sul tuo sistema di destinazione per garantire l'integrità con la gestione dei pacchetti.

    
risposta data 07.04.2013 - 11:08
fonte

Leggi altre domande sui tag