Esiste un modo migliore per installare solo le dipendenze richieste di un pacchetto, invece di installarlo direttamente con apt-get (o qualsiasi altro frontend di dpkg) e quindi rimuoverlo immediatamente, tralasciando le sue dipendenze?
Esiste un modo migliore per installare solo le dipendenze richieste di un pacchetto, invece di installarlo direttamente con apt-get (o qualsiasi altro frontend di dpkg) e quindi rimuoverlo immediatamente, tralasciando le sue dipendenze?
Risposte:
apt-get fornisce un comando esattamente per quello ...
apt-get build-dep <package name>
Dalle pagine man che ottieni
build-dep fa in modo che apt-get installi / rimuova i pacchetti nel tentativo di soddisfare le dipendenze della build per un pacchetto sorgente. Per impostazione predefinita, le dipendenze sono soddisfatte per creare il pacchetto in modo nativo. Se lo si desidera, è possibile specificare un'architettura host con l'opzione --host-architecture.
aptitude ti consentirà di specificare una query anziché un nome di pacchetto durante l'installazione. Se si desidera installare le dipendenze del pacchetto denominato foo
, è possibile installare i pacchetti che hanno una dipendenza inversa su foo
:
aptitude install '?reverse-depends(foo)'
o
aptitude install '~Rfoo'
Il problema con l'installazione di un pacchetto e poi la sua rimozione è che tutti i pacchetti che vengono installati come dipendenze saranno contrassegnati come "installati automaticamente" e verrebbero rimossi da qualsiasi azione di installazione / rimozione / aggiornamento da aptitude o quando si esegue a apt-get autoclean
meno che contrassegnarli come installati manualmente utilizzando aptitude mark
o il apt-mark
comando.
Tuttavia, questo fa sorgere la domanda sul perché vorresti farlo. La mia ipotesi migliore è che stai cercando di installare dipendenze per alcuni software che stai per compilare a mano. In tal caso, installeresti prima le dipendenze di compilazione apt-get build-dep packagename
, ma poi dovresti creare un pacchetto fittizio con dipendenze di runtime (che generalmente differiscono dalle dipendenze di compilazione) utilizzando il equiv
pacchetto per creare un pacchetto fittizio con le dipendenze corrette per il tuo programma compilato manualmente. Vedere le informazioni equivs
in The APT HOWTO
In caso di creazione di pkgname da fonti
apt-get build-dep pkgname
build dependencies
edependencies
? Come in, se normalmente si installa un programma si ottengono dipendenze che deve effettivamente funzionare, e con dipendenze di build penso di più a librerie, compilatori, cose del genere. Quindi, dato che non sono sicuro (questa risposta ha voti positivi) ma a me sembra non banale che ottenere dipendenze di build sia lo stesso di ottenere le dipendenze (di esecuzione) dei pacchetti?