La distribuzione Linux Gentoo, che si installa dai sorgenti, inizia ad offrire pacchetti binari

Tra le distribuzione storiche di Linux, Gentoo è sempre stata considerata la… Most challenging Linux distribution on the planet. Questo perché si è sempre distinta dalla maggior parte delle altre distribuzioni poiché si basa sul concetto di compilazione da sorgenti anziché sull’utilizzo di pacchetti binari pre-compilati.

In Gentoo, i pacchetti software vengono scaricati come codice sorgente anziché come binari pre-compilati. Questo consente agli utenti di personalizzare le opzioni di compilazione, ottimizzando le prestazioni per l’hardware specifico e scegliendo quali funzionalità includere o escludere nei programmi.

emerge è lo strumento di gestione dei pacchetti Gentoo, il quale utilizza un sistema di script chiamati “ebuilds” per scaricare, configurare, compilare e installare i pacchetti software. Gli ebuilds contengono istruzioni su come compilare il software e quali dipendenze sono necessarie.

Si fa in fretta a capire il perché di quel most challenging citato in apertura: installare Gentoo ha sempre richiesto tempo e competenze, perché la compilazione dei pacchetti passa anche e soprattutto dai flag che vengono passati, che ne ottimizzano appunto l’efficienza.

Ed arriviamo così alla notizia di oggi. Alla fine del 2023, un blog post dal titolo Gentoo goes Binary! apparso sul sito ufficiale Gentoo, ha stupito tutti:

To speed up working with slow hardware and for overall convenience, we’re now also offering binary packages for download and direct installation! For most architectures, this is limited to the core system and weekly updates – not so for amd64 and arm64 however. There we’ve got a stunning >20 GByte of packages on our mirrors, from LibreOffice to KDE Plasma and from Gnome to Docker. Gentoo stable, updated daily. Enjoy!

Per velocizzare il lavoro con hardware lento e per comodità generale, ora offriamo anche pacchetti binari per il download e l’installazione diretta! Per la maggior parte delle architetture, questo è limitato al sistema principale e agli aggiornamenti settimanali, non è così però per amd64 e arm64. Lì abbiamo più di 20 GByte di pacchetti sui nostri mirror, da LibreOffice a KDE Plasma e da Gnome a Docker. Gentoo stabile, aggiornata quotidianamente. Divertitevi!

A corredo dell’annuncio anche uno diagramma riassuntivo della quantità di spazio riservato ai pacchetti:

package data over time

Dal quale si evince come le architetture amd64 e arm64 siano effettivamente piene di pacchetti precompilati.

In realtà, come recita l’annuncio, la distribuzione usa da sempre il tool Portage per l’installazione dei pacchetti pre-compilati e permette di gestire i pacchetti in modalità mista, ma la novità è rappresentata dalla presenza massiccia dei binari che da qui in avanti verranno aggiornati quotidianamente, rispettando l’aspetto rolling caro a Gentoo.

Quindi per tutti quelli che hanno passato notti ad attendere il termine dell’installazione della compilazione di Gentoo il vento è cambiato, ora si potrà fare mooooolto prima. Solo che, come recita una delle domande nel blog post “But hey, that’s not optimized for my CPU!” e la risposta non potrebbe essere più eloquente: Tough luck. You can still compile packages yourself just as before!

Da sempre appassionato del mondo open-source e di Linux nel 2009 ho fondato il portale Mia Mamma Usa Linux! per condividere articoli, notizie ed in generale tutto quello che riguarda il mondo del pinguino, con particolare attenzione alle tematiche di interoperabilità, HA e cloud.
E, sì, mia mamma usa Linux dal 2009.

24 risposte a “La distribuzione Linux Gentoo, che si installa dai sorgenti, inizia ad offrire pacchetti binari”

  1. Avatar Pietro Rewind
    Pietro Rewind

    per me le maggiori prestazioni sono solo una pia illusione… alla fine dopo una settimana che ci hai messo a compilare tutto ottieni sempre quegli stessi binari che ottengono tutti gli altri, inutile la compilazione per la specifica CPU perchè il 99% dei programmi non ha bisogno di usare che le istruzioni di base comuni a tutti i processori.

  2. Avatar Raoul Scarazzini

    Concordo al 200%. Salvo rarissimi casi in cui una compilazione manuale dava reali vantaggi, estremamente specifici, ho sempre visto gli utenti Gentoo come quei monaci penitenti che vogliono scontare su questa terra tutti i loro peccati 😀 😀 😀

  3. Avatar michele
    michele

    Io mi divertivo con Slackware a compilare il kernel, all’epoca dei 386 e 486, qualche secondo all’avvio lo quadagnavo (dopo ore di compilazione)

  4. Avatar Raoul Scarazzini

    Eh sì, il problema era che il secondo guadagnato lo perdevi nel minuto/minuto e mezzo necessario all’avvio, ma confermo come fossero soddisfazioni!

  5. Avatar Mark
    Mark

    In realtà non è proprio una novità.. già negli anni 2003-2005 (se ricordo bene) c’era il progetto Gentoo GRP che mirava a fornire i “binary” del sistema base, ma non prese piede.
    Diciamo che questo è una sorta di secondo tentativo (magari è la volta buona)

  6. Avatar sabayonino
    sabayonino

    Il concetto di “ottimizzazione” in Gentoo non si basa solo sulla “velocità” a caricare un sistema o ad eseguire un login (sempre se la metrica è ancora questa al giorno d’oggi).
    Il PC non diventa un aereo ,m può diventare una lumaca se manipolato male..
    Il concetto di USE Flag , va a rendere specifica una installazione di una applicazione o di una libreria , un supporto hardware o software.
    Un software che non include features non richieste dall’utente risulta più veloce nell’essere eseguito e si porta appresso meno dipendenze , libreire etc . Ne consegue anche una maggiore stabilità in caso di bug di quest’ultime (in linea generale).

    Di sicuro non è una (meta)distribuzione per utenti soft quelli che richiedono il classico , installa-clicca e lavora.

    Ma vi assicuro che una volta messa in funzione con tutti i crismi dovuti può dare molte soddisfazioni dal punto di vista di apprendimento 😀 … non dico che si diventi il Torvalds della situazioni , ma qualche bella soddisfazione ce la può dare.

    PS : e sfatiamo il mito che si passa ore e ore a compilare senza utilizzare il sistema perchè si compila quasi H24.

    Io aggiorno il sistema 1 volta a settimana … e ci faccio tutto quello che mi serve per un uso domestico da ormai quasi 20 anni (la metà dei quali spesi in SabayonLinux
    Le uniche reinstallazioni (da backup) sono quelle dovute alla voglia di provare o cambiare filesystem …:D

    Tutti i miei PC sono rigorosamente Gentoo . Altro non risco a digerire 😀

  7. Avatar sabayonino
    sabayonino

    Io utilizzo il kernel binario (su configurazione RedHat se non sbaglio)
    In alcuni PC dedicati al calcolo distribuito, da sorgenti ,ridotte all’osso …
    stessa configurazione che girerà si e no dal 2013 …credo 😀

    L’ottimizzazione del kernel se non a scopo didattico la fai se hai necessità .
    Per l’uso quotidiano va bene anche un kernel-precompilato
    Tutto il resto è solo una tua scelta

  8. Avatar Raoul Scarazzini

    Certo, lo stesso criterio si può applicare al Kernel: imparare a ricompilarlo è utilissimo per comprendere tante cose in merito a come funziona Linux, e una ricompilazione oculata può portare benefici evidenti in termini di performance.
    Tutto però va messo sulla bilancia: è un esercizio di stile per aumentare le proprie competenze oppure qualcosa fatto per una reale produttività? Nel secondo caso dico che il gioco non vale la candela.

  9. Avatar Raoul Scarazzini

    Ciò che mi chiedo è: ha senso per quello che è lo scopo stesso dell’esistenza di Gentoo? Avvicinare Gentoo a tutte le altre distribuzioni non le farebbe perdere l’unico suo determinante vantaggio?

  10. Avatar Raoul Scarazzini

    100% agree: hai descritto esattamente un ambito in cui ha più di un senso ricompilare un Kernel.

  11. Avatar Mark
    Mark

    La domanda è pertinente e l’ho letta in molti forum sul tema. Diciamo che è qualcosa in più! La frase che si legge più spesso fra gli utenti Gentoo è “Gentoo is about choice”, dunque alla fine puoi continuare a installare packages dai sorgenti ma puoi scegliere (per alcuni di questi) di prendere quello binario, magari se sei in una situazione dove non puoi aspettare.

  12. Avatar Raoul Scarazzini

    Chiarissimo, aggiungo solo per completezza che a quel punto per scelta sarebbe possibile ricompilarsi Debian o Red Hat (quindi Alma o Rocky) dai sorgenti esattamente come fa Gentoo.
    Mi verrebbe quindi da dire “Linux is about choice” 😉

  13. Avatar sabayonino
    sabayonino

    In quel caso nemmeno tanto …
    Ho solo lobotomizzato il kernel da tutto quello che non è montato.
    Se dovessero scoppiarmi le schede madri dovrò riabilitare il supporto per quelle nuove (cross the fingers) 😀 ma finchè vanno …avanti !

  14. Avatar Capitano Nemo
    Capitano Nemo

    Non sarebbe assolutamente pratico

  15. Avatar sabayonino
    sabayonino

    Si.Le distribuzione non nascono dal nulla .
    Ogni distribuzione ha il suo tool di compilazione ed installazione e cosa non meno importante , anzi , forse quella fondamentale è la gestione delle dipendenze.

    Gentoo ha il suo motore di “installazione” sotto. Portage
    Pure Slackware ha il suo

    provare LFS … e risolvete i vari link mancati a suon di ln -s 😀 o indicare le varie dipendenze o path di installazione … se ve ne dimenticate uno …

    Ma lì andiamo veramente su chi piace farsi del male 😀

    ci provai una volta sola … dopo qualche giorno a leggere la documentazione abbandonai … forse per pigrizia … si era pigrizia =_=

  16. Avatar Black_Codec

    Sabayon non passava i binari?

  17. Avatar Black_Codec

    Ecco questo è il punto focale… I benefici li ottieni con un kernel compilato ad hoc o serve compilarsi tutti i pacchetti?
    Nella mia piccola visione penso che basti il kernel, ci sono diverse distro, inclusa Debian, che permettono di installare binari minimi senza dipendenze inutili, per il kernel scarichi il source e ti diverti… Gentoo con i binari mi sembra una arch con diverso nome…

  18. Avatar Black_Codec

    Eh ma ti domando, levato il kernel che ottimizzazione hai sui programmi? Il browser? Perché il de ottimizzi veramente poco e nulla eh…

  19. Avatar sabayonino
    sabayonino

    Sabayon era binaria su base Gentoo con il suo packagemanager (Entropy)
    Pienamente compatibile con portage.

  20. Avatar sabayonino
    sabayonino

    Dipende cosa intendi per “ottimizzare”.
    non ci sono solo le flags di cpu .
    Rileggi qualche mio post sopra.
    C” il concetto di USE Flags dietro. A spiegarlo non basterebbero una decina di post.
    L’unica è leggere il Manuale e provare se vuoi provare,apprendere qualcosa di nuovo che è in costante cambiamento.
    Se ritieni questo inutile e superfluo , c’è un parco ampio e vasto di distribuzioni su cui sfogarsi 😀

    E comunque nelle binarie c’è sempre qualcuno che li compila (al posto tuo) , solo che decide lui cosa mettere o non mettere

  21. Avatar Black_Codec

    Hai risposto col nulla… Cmq ho usato per anni gentoo su server e onestamente con i dischi meccanici sui server aveva un senso (relativo ma c’era)… Tolti particolari use case ha sempre avuto il senso del “vantarsi”… Poi boh sarà una mia impressione ma alla fine tutte le distribuzioni ti danno la possibilità di ricompilare il pacchetto partendo dal pkg src e se devo ricompilarlo usando le medesime flag ha senso pari al nulla…

  22. Avatar sabayonino
    sabayonino

    E io cosa ho scritto.
    Liberi di usare quel che pare e piace.

  23. Avatar Shiba
    Shiba

    Arrivo tardi alla discussione, ma da utente Gentoo esclusivo da un decennio mi sento abbastanza qualificato da poter dire la mia. Come dici tu, Gentoo da sempre (almeno da quando la uso io) supporta pacchetti binari, la novità è un pool di precompilati ufficiale. La base della distro rimane sempre e comunque Portage che di nuovo sempre e comunque si basa su ebuild per gestire il software. Quello che succede è che se durante l’installazione è disponibile un precompilato che soddisfa le dipendenze dell’ebuild, alle versioni dell’ebuild, compilato con gli USE flag richiesti nell’ebuild e nella configurazione di sistema, allora viene preferito rispetto a compilare il programma da zero. La grossa differenza rispetto a ricompilare su una Ubuntu o una Arch è che Gentoo è sempre una distro basata su sorgenti, poi _eventualmente_ pacchetti binari. È praticamente impossibile ad esempio trovarsi in una situazione in cui aggiorni una dipendenza e il pacchetto binario che hai installato l’altro giorno smette di funzionare: come normalmente accade in Gentoo, quando necessario, i dipendenti vengono ricompilati sulle nuove dipendenze (e di conseguenza il binario precompilato è scartato in quanto non soddisfa i requisiti).

    Nella mailing list qualcuno ha avanzato una preoccupazione simile a ciò che leggo tra questi commenti: questa novità finirà per segnare la fine della personalizzazione su Gentoo in favore della convenienza? Assolutamente no in generale, magari anche sì in alcuni casi dove il gioco vale la candela. Penso a monoliti come webkit-gtk, che (per i non avvezzi alla compilazione) su un PC mediamente moderno richiede un paio d’ore per essere compilato. Io non uso wayland e quindi la mia configurazione ha il supporto a wayland disabilitato ovunque. Ma scambierei ogni giorno avere wayland abilitato e installato, anche se non lo uso, per soddisfare le dipendenze di un webkit precompilato rispetto a spendere ore e una barca di corrente elettrica per compilarlo io solo per togliere qualcosa che se anche se ne sta lì inutilizzato non da fastidio.

  24. Avatar Ale
    Ale

    Io ho scelto gentoo come prima distro, perchè così le cose o le capisci, o non funzionano.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *