[Risolto] Cura dimagrante

Problemi e discussioni inerenti al kernel e al supporto hardware in ambiente Linux
Rispondi
Avatar utente
Dusty
Little John
Messaggi: 755
Iscritto il: 12 agosto 2011, 13:15
Località: Firenze

[Risolto] Cura dimagrante

Messaggio da Dusty » 1 novembre 2018, 16:33

Avrei necessità di ridurre all'osso l'impegno di spazio su disco di un sistema Arch.
Ho già fatto pulizia delle localizzazioni che non mi servono (anche l'italiano).
Però noto che il pacchetto linux-firmware pesa da solo oltre 400MB, e probabilmente quasi tutti inutili.
Sapere mica come si può fare ad individuare i moduli usati?
Potrei anche cancellarli tutti e vedere cosa succede, ma preferirei un metodo più scientifico.
Ultima modifica di Dusty il 3 novembre 2018, 17:25, modificato 1 volta in totale.

Avatar utente
4javier
Moderatore
Messaggi: 9541
Iscritto il: 5 ottobre 2008, 17:19
Architettura: x86_64 (64bit)

Re: Cura dimagrante

Messaggio da 4javier » 1 novembre 2018, 16:44

Ad ogni aggiornamento ti verrebbero re-installati.
Offertissima: Mi Vendo!!! Cercasi lavoro o corso di formazione finanziato in tutta italia da Roma in su, oppure in provincia di Catanzaro.
In particolare sono interessato ad opportunità su Roma.

gaglioffo
Arciere
Messaggi: 305
Iscritto il: 11 maggio 2016, 21:06

Re: Cura dimagrante

Messaggio da gaglioffo » 1 novembre 2018, 18:48

per rimuovere i pacchetti non utilizzati:

Codice: Seleziona tutto

# pacman -R $(pacman -Qdtq)

Avatar utente
4javier
Moderatore
Messaggi: 9541
Iscritto il: 5 ottobre 2008, 17:19
Architettura: x86_64 (64bit)

Re: Cura dimagrante

Messaggio da 4javier » 1 novembre 2018, 19:09

È un unico pacchetto.
Offertissima: Mi Vendo!!! Cercasi lavoro o corso di formazione finanziato in tutta italia da Roma in su, oppure in provincia di Catanzaro.
In particolare sono interessato ad opportunità su Roma.

Avatar utente
Dusty
Little John
Messaggi: 755
Iscritto il: 12 agosto 2011, 13:15
Località: Firenze

Re: Cura dimagrante

Messaggio da Dusty » 1 novembre 2018, 21:05

4javier ha scritto:
1 novembre 2018, 16:44
Ad ogni aggiornamento ti verrebbero re-installati.
Lo posso sopportare.
Potrei fare uno script di post-aggiornamento che elimina tutti i files tranne quelli che servono.
Lo faccio già con le localizzazioni.
gaglioffo ha scritto:
1 novembre 2018, 18:48
per rimuovere i pacchetti non utilizzati: ...
Non è un pacchetto inutilizzato.
E' un prerequisito del kernel.

Avatar utente
4javier
Moderatore
Messaggi: 9541
Iscritto il: 5 ottobre 2008, 17:19
Architettura: x86_64 (64bit)

Re: Cura dimagrante

Messaggio da 4javier » 1 novembre 2018, 22:03

Ho preparato questo one-liner che dovrebbe restituirti il nome dei moduli in uso del tuo sistema che richiedono il caricamento di un firmware, più la lista dei firmware che possono caricare. In teoria ogni modulo ne dovrebbe caricare solo uno di quelli elencati.

Codice: Seleziona tutto

for i in $(lsmod | tail -n +2 | awk '{print $1}'); do if (modinfo $i | grep -q "firmware: "); then  modinfo -F name $i; modinfo -F firmware $i; fi; done
Offertissima: Mi Vendo!!! Cercasi lavoro o corso di formazione finanziato in tutta italia da Roma in su, oppure in provincia di Catanzaro.
In particolare sono interessato ad opportunità su Roma.

Avatar utente
Dusty
Little John
Messaggi: 755
Iscritto il: 12 agosto 2011, 13:15
Località: Firenze

Re: Cura dimagrante

Messaggio da Dusty » 2 novembre 2018, 0:00

Molto interessante!
Quindi ogni driver che potenzialmente potrebbe richiedere un firmware, mantiene al suo interno una dichiarazione statica che può essere evidenziata tramite modinfo.
Quanto prima faccio una provaccia (nel senso che potrebbe essere distruttiva) e poi torno a riferire.

Avatar utente
TheSaint
Robin Hood
Messaggi: 7711
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Cura dimagrante

Messaggio da TheSaint » 2 novembre 2018, 4:20

Beh, una volta trovato i files da rimuovere, puoi dire a pacman di non installarli.
Comunque ci potrebbe essere una condizione che non soddisfa appieno. Perché se dici di non installare i files ci saranno tanti .pacnew ad occupare spazio, oppure se dici di non installare nella directory allora verranno a mancare anche quei files che necessiteranno dell' aggiornamento.

Ci potrebbe essere una manovra losca, di creare un symlink del firmware in tmpfs, prima dell' aggiornamento, dissentire di installare i file come pacnew, quindi rimuoverli, infine salvare il files utili nella directory originale e quindi eliminare il symlink.

Alla dieta aggiungerei anche un bel paccozzo di moduli che sono li a tenere posto. Fortunatamente sono compressi, ma vedo che con l' andare del tempo anche il kernel ha raggiunto dimensioni consistenti. Non sembra che ci siano molti ad usare il trasferimento con parsimonia, con l' idea che tanto ci mette poco. Tanto per citare che c'è solo un repositorio che applica il delta, sui 500 mirror che ci sono.

Io direi che ogni sistema dovrebbe creare una "lista della spesa" di quello che è realmente necessario. Quindi fare gli aggiornamenti ad-hoc. Se non vado errato i pacchetti deb hanno il sistema che verifica le differenze tra i pacchetti installati e quelli da aggiornare.
F the saint
12 anni da questo forum ;)

VenereNera
Little John
Messaggi: 866
Iscritto il: 20 dicembre 2012, 19:50

Re: Cura dimagrante

Messaggio da VenereNera » 2 novembre 2018, 11:31

Un kernel ad-hoc?
Di per sè un #lspci -v ti dice i moduli che servono, un occhio di rigardo per le periferiche usb. La compilazione di un kernel ad-hoc è una cosa un po' lunga che richiede un po' di studio proprio per individuare lo stretto necessario al corretto funzionamento. Puoi arrivare ad avere un kernel di pochi MB (di riflesso quindi i soli moduli indispensabili), ma col rischio che non veda una semplice usb-wifi, un hdd esterno eccecc. :P

Avatar utente
4javier
Moderatore
Messaggi: 9541
Iscritto il: 5 ottobre 2008, 17:19
Architettura: x86_64 (64bit)

Re: Cura dimagrante

Messaggio da 4javier » 2 novembre 2018, 13:43

Un kernel ad-hoc comporta la manutenzione continua, ed alla fine riesci a risparmiare non più di una cinquantina di mega (ok che sui sistemi embedded gira su rom da pochi MB, ma qui credo si parli comunque di un sistema per uso desktop :D )
@Dusty
Hai già elencato per dimensione i pacchetti installati?
Offertissima: Mi Vendo!!! Cercasi lavoro o corso di formazione finanziato in tutta italia da Roma in su, oppure in provincia di Catanzaro.
In particolare sono interessato ad opportunità su Roma.

Avatar utente
TheSaint
Robin Hood
Messaggi: 7711
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Cura dimagrante

Messaggio da TheSaint » 2 novembre 2018, 13:59

Il kernel di windows in pratica non ha tutti i driver del pianeta, se serve per una certa periferica lo si cerca e lo si installa. Per questo ci potrebbe essere un metodo di moduli on-demand. Chiuso il capitolo :)
I moduli occupano 208 Mbytes, che sono compressi.
Per quanto riguarda il firmware, siamo alla stessa misura, mi pare. Comunque non essendo impostato il metodo on-demand, si va a parare con la rimozione ad ogni installazione. D' accordo che è gratis, ma mi sa tanto di bloatware :)
F the saint
12 anni da questo forum ;)

Avatar utente
4javier
Moderatore
Messaggi: 9541
Iscritto il: 5 ottobre 2008, 17:19
Architettura: x86_64 (64bit)

Re: Cura dimagrante

Messaggio da 4javier » 2 novembre 2018, 14:05

Dove lo hai preso quel 208 MB? A me risulta che tra kernel e moduli si stia sui 70 MB, mentre i firmware ne pesino oltre 400.
Offertissima: Mi Vendo!!! Cercasi lavoro o corso di formazione finanziato in tutta italia da Roma in su, oppure in provincia di Catanzaro.
In particolare sono interessato ad opportunità su Roma.

Avatar utente
TheSaint
Robin Hood
Messaggi: 7711
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Cura dimagrante

Messaggio da TheSaint » 3 novembre 2018, 8:32

L' avevo fatto con dolphin alla directory interessata, ma facendo da console:

Codice: Seleziona tutto

$ du -sh /usr/lib/modules/$(uname -r)
229M    /usr/lib/modules/4.18.16-arch1-1-ARCH

$ du -sh /usr/lib/firmware/
362M    /usr/lib/firmware/
Quindi 591 Mbytes.
F the saint
12 anni da questo forum ;)

Avatar utente
4javier
Moderatore
Messaggi: 9541
Iscritto il: 5 ottobre 2008, 17:19
Architettura: x86_64 (64bit)

Re: Cura dimagrante

Messaggio da 4javier » 3 novembre 2018, 11:15

Hai sicuramente molti moduli installati da pacchetti terzi dentro extramodules. Non sono quelli inclusi nel kernel.
Offertissima: Mi Vendo!!! Cercasi lavoro o corso di formazione finanziato in tutta italia da Roma in su, oppure in provincia di Catanzaro.
In particolare sono interessato ad opportunità su Roma.

Avatar utente
TheSaint
Robin Hood
Messaggi: 7711
Iscritto il: 8 settembre 2007, 7:43
Architettura: x86_64 (64bit)
Località: davanti al computer

Re: Cura dimagrante

Messaggio da TheSaint » 3 novembre 2018, 17:09

Non penso, dovrebbe esserci solo quello di nvidia e vmware. Basta che confronti con quello che ti risulta a te con lo stesso comando ;)
F the saint
12 anni da questo forum ;)

Avatar utente
Dusty
Little John
Messaggi: 755
Iscritto il: 12 agosto 2011, 13:15
Località: Firenze

Re: Cura dimagrante

Messaggio da Dusty » 3 novembre 2018, 17:24

4javier ha scritto:
2 novembre 2018, 13:43
Hai già elencato per dimensione i pacchetti installati?
Sì, l'ho fatto.
E linux-firmware è l'unico su cui il beneficio può valere la fatica.

Ho fatto la provaccia.
Ho verificato che sulla macchina in esame nessun firmware è richiesto.
Quindi ho cancellato tutta la directory firmware.
Nessun problema: riavviato, il sistema sta funzionando perfettamente.
Unico effetto collaterale è che durante la creazione del kernel fallback le segnalazioni di "Possibly missing firmware for module..." sono passate dalle solite due ad una dozzina.
A me basta così.

Avatar utente
4javier
Moderatore
Messaggi: 9541
Iscritto il: 5 ottobre 2008, 17:19
Architettura: x86_64 (64bit)

Re: [Risolto] Cura dimagrante

Messaggio da 4javier » 3 novembre 2018, 18:38

Ok. Sul mio sistema gli unici pacchetti che potresti avere anche tu e che occupano molto, sono il compilatore C ed in generale quelli appartenenti al gruppo base-devel. Se non usi pacchetti da AUR e non compili sorgenti manualmente possono essere tolti, ammesso che tu li abbia.
Offertissima: Mi Vendo!!! Cercasi lavoro o corso di formazione finanziato in tutta italia da Roma in su, oppure in provincia di Catanzaro.
In particolare sono interessato ad opportunità su Roma.

Rispondi