Gli sviluppatori Debian si interrogano su come rimuovere i pacchetti non mantenuti dall’immenso repository

Tra le caratteristiche principali della distribuzione Debian GNU/Linux (questo il nome completo che andrebbe sempre utilizzato) vi è certamente quella della disponibilità dei software. È raro infatti che per un programma open-source, seppur magari conosciuto da un numero ridotto di utenti, non esiste il corrispettivo pacchetto Debian.

Questa caratteristica, di cui chiaramente beneficiano anche tutte le derivate di Debian stessa, in primis Ubuntu, pone però di fronte al grosso problema sul ciclo di vita di questi pacchetti i quali, essendo molti, possono ad un certo punto della loro esistenza diventare “non mantenuti”.

Come racconta Phoronix il progetto Debian ha settantaquattromila pacchetti all’interno dell’architettura x86_64, una grossa fetta dei quali non viene mantenuta con costanza, o addirittura non presenta aggiornamenti da tempo immemore. Ecco quindi la necessità di definire una strategia per cercare di avere pulizia e sicurezza allo stesso tempo.

L’approccio proposto dallo sviluppatore Helmut Grohne vorrebbe essere più aggressivo rispetto all’attuale, andando ad eliminare tutti quei pacchetti per cui esiste un bug che da almeno un anno senza che sia stata prodotta una nuova release.

A questo identikit al momento rispondono ben trecento pacchetti del repository Debian, quindi il livello di pulizia che verrebbe generato sarebbe quantomeno consistente. Anche perché, come riporta Grohne, il costo di gestione di questi pacchetti è enorme e viene sviscerato nella sua proposta.

L’attuale Debian Project Leader si è detto favorevole ad aprire una discussione sulla tematica:

I would love for this discussion to lead to more aggressive removals that we can agree upon, whether they are automated, semi-automated, or managed by a person processing an automatically generated list (supported by an objective procedure). To use an analogy: I’ve found that every image collection improves with aggressive pruning. Similarly, I’m convinced that Debian will improve if we remove packages that no longer serve our users well.

Mi piacerebbe che trovassimo un accordo in merito a questa discussione sulle rimozioni più aggressive, che siano automatizzate, semi-automatizzate o gestite da una persona che elabora un elenco generato automaticamente (supportato da una procedura oggettiva). Per usare un’analogia: ho scoperto che ogni raccolta di immagini migliora con una potatura aggressiva. Allo stesso modo, sono convinto che Debian migliorerà se rimuoviamo i pacchetti che non servono più bene ai nostri utenti.

Pertanto, si potrebbe dire, come il dado sia tratto. Verosimilmente, come sempre accade nel progetto, la discussione verrà tramutata in una Debian General Resolutions (GR), lo strumento formale utilizzato all’interno del progetto Debian per prendere decisioni importanti o risolvere questioni controverse.

Di controversie in questo caso non ce ne sono, ma la questione pacchetti non mantenuti è ormai diventata decisamente importante e servirà a tutelare l’intero progetto oltre che a definire una corretta strategia che possa essere adottata ovunque.

L’aspetto mantenimento è salito prepotentemente alla ribalta recentemente, quando si è parlato della backdoor nei sorgenti di XZ. In quel caso la causa è stata l’appropriamento “in sordina” da parte di un maintainer malevolo dei sorgenti di un software tanto diffuso, ma viene da pensare come la community avrebbe reagito se Debian avesse segnalato la necessità di rimuovere il pacchetto xz poiché affetto da problemi non risolti da più di un anno.

La trasparenza può essere una buona arma per garantire la sicurezza?

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.

26 risposte a “Gli sviluppatori Debian si interrogano su come rimuovere i pacchetti non mantenuti dall’immenso repository”

  1. Avatar Raoul Scarazzini

    È una riflessione interessante, che pone però il problema su quale formato scegliere, vista l'estrema promiscuità: Flathub o Snap? AppImage? Non esistendo uno standard, e volendo garantire una fornitura software completa diventerebbe comunque una scelta da fare (che ovviamente non accontenterebbe tutti).
    Rimane, come ho scritto, una riflessione intelligente.

  2. Avatar Black_Codec

    Fai un repository chiamato deprecati, ci hutti dentro tutti i pacchetti che non hanno una nuova release e bug aperti al cambio di versione tutti i pacchetti deprecati vengono azzerati, se qualcuno li volesse mantenere si scarica src e si fa un suo repo, amen.

  3. Avatar Alessandro Scarozza
    Alessandro Scarozza

    facendo uno step oltre, io sono dell'idea che le distro dovrebbero iniziare ad accettare esistenza di flatpak, integrarlo out of the box e rimuovere tutti (o parte) i pacchetti presenti in flathub

    ha senso veramente che distro abbiano pacchettizzato libreoffice, firebox, chrome, etc etc?

  4. Avatar (YouTube) All'occhio del Frank

    Guarda è ciò che ho pensato anch'io, tuttavia l'approccio di eliminare i pacchetti e via, potrebbe essere un ottimo incentivo per portare la community ad apportare almeno 1 aggiornamento all'anno sui pacchetti importanti o ancora utili a qualcuno. Anche perché 300 pacchetti su 74.000 sono poca roba ed è fattibile aggiornare ciò che serve

  5. Avatar Alessandro Scarozza
    Alessandro Scarozza

    snap non è un alternativa in quanto la componente BE non è open
    appimage non prevede il sandbox e non mi pare esista un repository/store (personalmente lo vedo piu come una soluzione legacy)

    di fatto flatpak è l’unica opzione possibile adottabile da tutti e moderna

  6. Avatar Raoul Scarazzini

    Bon, allora non ti rimane che proporla al progetto 😀

  7. Avatar BlaBla
    BlaBla

    Prevedo apt update a sistemi Debian funzionanti che porteranno a sistemi con cose che smettono di funzionare di punto in bianco con gran bestemmiare dei proprietari come è gia successo in passato con server che smettono di fare il boot dopo l'aggiornamento del kernel perché avevano deciso di togliere un vecchio driver di un controller sata

  8. Avatar BlaBla
    BlaBla

    Si che ha senso perché per ogni programma hai duplicate tutte librerie che gli servono per funzionare

  9. Avatar BlaBla
    BlaBla

    Tu puoi aprire il repo di una applicazione legittima su flatpack, una volta che ti hanno accettato e abilitato puoi sostituire l'applicazione legittima con una infetta che nessuno ti ricontrolla.

  10. Avatar Alessandro Scarozza
    Alessandro Scarozza

    con flatpak non funziona cosi, avresti duplicati solo le librerie esotiche non presenti nel runtime platform

  11. Avatar Stefano Cappelletti
    Stefano Cappelletti

    Sarebbe anche una strada comoda per verificare la presenza di pacchetti obsoleti sul proprio sistema e per decidere come gestire la cosa

  12. Avatar gerlos

    Per come funziona Debian, i contenuti dei repo delle distro oldstable rimarranno invariati. I pacchetti non mantenuti non verranno portati nei repo delle nuove stable.

    Quindi nessun sistema si romperà "di punto in bianco", ma al momento dell'upgrade dalla precedente alla nuova stable verrai avvisato che il pacchetto XYZ non è più incluso in Debian, e che magari verrà rimosso al termine dell'upgrade. A quel punto deciderai da te: tenerti il pacchetto e non fare l'upgrade, fare l'upgrade rimuovendo il pacchetto, e magari reinstallarlo per altre vie, se proprio ti serve (ad es. da sorgente, o usarlo in una vm o un container basato su oldstable).

    Ubuntu fa già così, e funziona. Debian è sempre stata più conservativa con il contenuto dei suoi repo, ed è giusto che si discuta di queste policy. Onestamente 300/74000 è una frazione piccola e gestibile, imho

  13. Avatar BlaBla
    BlaBla

    debian anni fa con un aggiornamento ma tolto un driver dal kernel di un server che al riavvio non è + partito perchè non trovava più il disco di sistema.

  14. Avatar Nicola Ardito
    Nicola Ardito

    Domanda? Ma non esistono statistiche sul numero di download di questi deb-file? Cestinare i mai scaricati da tempo sarebbe un buon punto di partenza credo.

  15. Avatar JustATiredMan
    JustATiredMan

    NO per piacere… se cominciamo a metterci dentro flatpak poi perchè nopn anche appimage o snap ?
    Quelle robne li lasciatele fuori.
    Se qualcuno le vuol aggiungere liberissimo di farlo, ma direi che non è il caso di metterli dentro debian. Debian resti con gli apt.

  16. Avatar JustATiredMan
    JustATiredMan

    io voto contro…. debian per me deve restare con apt.

  17. Avatar Giovanni

    Ce ip problema di compatibilità dei pacchetti flatpack e snap. Esempio lampanti Thunderbird snap non si interfaccia con gnupgp esterno per gestire openpgp con token. Mentre funziona bene con il binario o pacchetto deb. Flatpack come snap esempio hanno errori nella vite telegram-desktop su architettura arm64. Una libreria jmallon al loro interno non va. Insomma snap e flatpack a volte hanno più problemi che altro

  18. Avatar Alessandro Scarozza
    Alessandro Scarozza

    come detto sopra appimage e snap non sono opzioni possibili.

    per i software come libreoffice, firefox, chrome, gimp etc (quindi non cose CORE dell’os) non ha senso che ogni distribuzione debba gestirsi i propri pacchetti.

  19. Avatar BlaBla
    BlaBla

    non hanno disinstallato un pacchetto, hanno rimosso un modulo dal kernel che supportava un chip di un controller sata, il motivo era perchè se usavi il raid fatto dal bios del controller richiavi perdita di dati, ma nessun problema se usavi raid fatto dal Linux o usavi dischi singoli. Problema che io avevo il sistema che bootava da quel controller che quindi ha smesso di bootare, non avevo raid creati da bios, ho sempre reputato i raid da bios delle schifezze a 16bit buggate e sempre usato raid creati da Linux… Non puoi buttare per terra cose così ! dovetti formattare e reinstallare il sistema da CD offline e inibire l'aggiornamento del kernel prima di fare gli aggiornamenti.

  20. Avatar gerlos

    Si deve essere incasinato qualcosa nel gestore dei pacchetti (purtroppo anni fa capitava): gli aggiornamenti normali non disinstallano pacchetti, salvo rare eccezioni. E quando un pacchetto non è più disponibile in una nuova release della distro, è documentato nelle note di rilascio.

  21. Avatar Matzaptor

    Ma le dipendenze???
    Ogni volta che installo qualcosa trovo dipendenze obsolete o con problemi noti di sicurezza.

    Consideriamo rimossi questi 300 pacchetti. Magari esistono 3000 pacchetti che dipendono da questi 300. Cosa succederà?

  22. Avatar Fulvio Magni
    Fulvio Magni

    Noi della comunità open source non rimuoviamo i pacchetti non mantenuti, perché non imponiamo nulla a nessuno. Noi rimuoviamo solamente i pacchetti che non compilano più, o in altre parole broken.

  23. Avatar Fulvio Magni
    Fulvio Magni

    Peccato che magari quel pacchetto obsoleto non abbia un'alternativa, come nel caso delle librerie condivise, e che mi serva.

  24. Avatar Valerio
    Valerio

    Ma scusate l'articolo parla di rimuovere i pacchetti con bachi e senza aggiornamenti recenti, a voi proponete di aggiungere un package manager come soluzione. Cosa impedirebbe di avere pacchetti flatpack con bachi e senza aggiornamenti?
    Poi sinceramente flatpack di base ti installa 1GB di runtime, peggio di .Net, tolto Gimp flatpack e messo AppImage e ho liberato 800 MB. Eradicato.
    Che facciano il repository obsoleti/deprecati che è la vera soluzione

  25. Avatar Alessandro Scarozza
    Alessandro Scarozza

    era una considerazione in piu. rispetto ai GB, se usi varie app come flatpak hai meno spazio occupato rispetto a appimage. il runtime serve proprio per avere una base di librerie comune a tutte le app, quindi le app dovranno embeddare solo le lib non presenti nel runtime

  26. Avatar Stefano Cappelletti
    Stefano Cappelletti

    Proprio per questo ho scritto "gestire". Se una cosa serve non la si butta, anche se è vecchia.
    però trovo utile sapere se qualche pacchetto nel sistema può, ad esempio, creare un problema di sicurezza

Lascia un commento

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