PDA

View Full Version : Debian, dipendenze inutili!


Damage92
07-04-2012, 11:59
Salve!

Su Debian mi è capitato di voler installare due pacchetti software, ma di scoprire che richiedono grosse dipendenze che non sono veramente fondamentali (almeno credo).

Per esempio se voglio installare Netbeans, mi ritrovo a dover scaricare 82 MB e occuparne ben 400 (!). Andando a vedere la dimensione dei pacchetti, in realtà più della metà dello spazio è per default-jdk-doc, ovvero la documentazione O.O

Se voglio installare doxygen, dovrei scaricare più di 200 MB e occuparne 320! Qui il problema è che doxygen supporta più formati di output, tra i quali latex. Io non ho intenzione di utilizzarlo con latex, ma comunque sono costretto ad installarmi 250 MB di texlive-latex-extra-doc!

Non capisco perché questi pacchetti siano impostati come dipendenze... allora vi chiedo: c'è un sistema "corretto" per installare un pacchetto evitando alcune sue dipendenze?

Grazie a tutti!

Gimli[2BV!2B]
07-04-2012, 14:36
Dovrebbe bastare disattivare l'installazione automatica dei pacchetti raccomandati (e suggeriti).
Le dipendenze raccomandate sono state rese obbligatorie di default da qualche tempo, perché solitamente parecchio utili anche se non necessarie per il funzionamento basilare.

Se hai Synaptic installato, controlla la presenza ed il contenuto del file /etc/apt/apt.conf.d/99synaptic
Il mio contiene questa riga, che rispecchia l'impostazione di sistema:APT::Install-Recommends "true";Visto che quel file è sotto il pieno controllo di Synaptic è preferibile non modificarlo direttamente.

Occorre creare od aggiornare il file /etc/apt/apt.conf con questa riga:APT::Install-Recommends "false";Altra opzione simile, ma di default false èAPT::Install-Suggests "false";

In questo modo sulla mia Sid si ottengono i seguenti risultati:

Netbeans

59 pacchetti -> 158 MiB
73 pacchetti -> 460 MiB (+Recommends)
207 pacchetti -> 1816 MiB (+Recommends +Suggests)

Doxygen

1 pacchetto -> 6987 KiB
43 pacchetti -> 962 MiB (+Recommends)
129 pacchetti -> 1260 MiB (+Recommends +Suggests)

Come puoi vedere, se i pacchetti sono particolarmente modulari, le variazioni sono piuttosto estreme.
Personalmente tengo attivi i raccomandati, però in casi come questo sarei molto combattuto.
Per finire tieni conto che se si disattivano temporaneamente i raccomandati per trattare in modo speciale un set di dipendenze, poi queste saranno di nuovo proposte in caso di aggiornamento del software che le raccomanda.

nicfio
07-04-2012, 14:37
puoi installare il pacchetto utilizzando il comando "apt-get install" utilizzando l'opzione di apt "no-install-recommends" che evita l'installazione delle dipendenze opzionali limitandosi ad installare solo i pacchetti strettamente necessari.

Gimli[2BV!2B]
07-04-2012, 15:35
Ero convinto che l'opzione --no-install-recommends lasciasse il database dei pacchetti in uno stato "instabile", vale a dire che i pacchetti evitati fossero destinati a rientrare al successivo aggiornamento dei pacchetti installati in quel modo, ma vedo che non è così.

Buono a sapersi, ovviamente è la soluzione migliore, grazie nicfio.

pabloski
07-04-2012, 15:39
Strano che di default installino i pacchetti opzionali, non è filosoficamente debian.

Su arch, ad esempio, i pacchetti opzionali sono esclusivamente a carico dell'utente.

Damage92
07-04-2012, 15:58
Grazie mille per le risposte! :)

Gimli[2BV!2B]
07-04-2012, 16:09
Sì, in effetti è stata una scelta piuttosto Ubuntiana, però non mi è dispiaciuta del tutto perché ricordo di aver perso più di una volta del tempo a capire cosa diavolo ci fosse che non andava in un software: qualche pacchetto raccomandato non installato...

Sono abbastanza sicuro che gli sviluppatori abbiano discusso della cosa, però non ho trovato traccia di argomentazioni ed origine della decisione, se non una striminzita riga nel changelog (notare l'OMG :asd:):
apt (0.7.7) unstable; urgency=low
[...]
* apt-pkg/depcache.cc:
- set "APT::Install-Recommends" to true by default (OMG!)
[...]

-- Michael Vogt <[email protected]> Tue, 23 Oct 2007 14:58:03 +0200

pabloski
07-04-2012, 16:36
Beh, almeno anche gli sviluppatori sono d'accordo che è una scelta anti-debian :D

tatarimoke
08-04-2012, 18:35
;37241140']Dovrebbe bastare disattivare l'installazione automatica dei pacchetti raccomandati (e suggeriti).
Le dipendenze raccomandate sono state rese obbligatorie di default da qualche tempo, perché solitamente parecchio utili anche se non necessarie per il funzionamento basilare.

Se hai Synaptic installato, controlla la presenza ed il contenuto del file /etc/apt/apt.conf.d/99synaptic
[...] *cut*
del software che le raccomanda.
Synaptic -> Settings -> Preferences -> Consider recommended packages as dependecies
piu' semplice cosi no? :p

Gimli[2BV!2B]
08-04-2012, 19:17
@tatarimoke, implica aver Synaptic installato, cosa non affermata nel primo post.
L'impostazione sarebbe rimossa in caso di disinstallazione di Synaptic.
Il file (e relativa impostazione nel menù) viene modificato automaticamente da Synaptic se si cambia l'impostazione in /etc/apt/apt.conf

È per questo che son stato prolisso...