Soluzione 1:
Mantenere la propria distribuzione richiede molto lavoro. Anche se mantieni i backport, sarai presto sopraffatto dai problemi di sicurezza da risolvere e dovrai estrarre librerie di basso livello per continuare ad aggiornare il tuo software, il che potrebbe rompere altre cose (mantengo server che eseguono distribuzioni vecchie di 6 anni, è non divertente).
L'aggiornamento è generalmente una buona soluzione. do-release-upgrade
è ben fatto e dovresti essere in grado di aggiornarlo senza problemi (soprattutto se hai usato solo pacchetti ufficiali).
La mia soluzione preferita potrebbe essere il percorso di reinstallazione. Più specificamente, i tuoi server dovrebbero essere gestiti utilizzando un sistema di gestione della configurazione come Puppet, Cfengine o Chef. Se tutte le tue esigenze di configurazione/pacchetto vengono specificate utilizzando uno strumento di questo tipo e i tuoi dati sono al sicuro su una partizione separata, è molto più semplice reinstallarli rapidamente. Basta installare una nuova distribuzione senza cancellare le partizioni di dati, quindi eseguire lo strumento di gestione della configurazione per reimpostare i pacchetti/configurazioni. Credo che questo sia il modo più pulito per farlo, soprattutto se hai diversi server da gestire.
Se stai utilizzando pacchetti non ufficiali, potresti volerli identificare prima di aggiornare/reinstallare. maintenance-check può aiutarti a identificare i pacchetti che non sono mantenuti ufficialmente da Ubuntu:
$ bzr branch lp:ubuntu-maintenance-check
$ cd ubuntu-maintenance-check
$ ./maintenance-check -f n
Se vuoi reinstallare, puoi anche esportare l'elenco dei pacchetti installati:
$ dpkg --get-selections > myinstall.txt
e il tuo database debconf:
$ debconf-get-selections > debconf.txt # from the debconf-utils package
Come nota, dal momento che stai attualmente utilizzando Karmic, potrebbe non essere troppo violento eseguire l'aggiornamento a Lucid, che è una versione LTS, ancora supportata fino al 2015 per i pacchetti server principali. Questo dovrebbe lasciarti abbastanza tempo per configurare un'installazione automatizzata fattibile per il futuro.
Quando chiedi informazioni sui pacchetti Launchpad, suppongo che tu intenda i PPA. Ci sono tonnellate di diversi PPA. Alcuni sono sperimentali, altri stabili. Alcuni sono mantenuti da sviluppatori ufficiali di Ubuntu, altri sono mantenuti da persone che difficilmente sanno come creare correttamente un pacchetto. È difficile dire in generale se i pacchetti che trovi sui PPA sono buoni, non esiste una regola generale. Il miglior suggerimento in questo caso potrebbe essere guardare troppo il proprietario dei PPA per avere un'idea della possibile qualità dei loro pacchetti.
Soluzione 2:
Se il server non è esposto al mondo e ti fidi assolutamente dei tuoi utenti (in genere non è una buona idea), allora se funziona, puoi semplicemente lasciarlo stare.
Se è in qualche modo esposto al mondo esterno e/o hai l'idea che un utente legittimo ci giochi in modo illegittimo, allora hai assolutamente bisogno di correzioni e patch per il tuo software installato.
In questo caso, hai due opzioni:
-
Eseguire una distribuzione supportata e ottenere gli aggiornamenti del software oppure
-
Effettua il backport di tutte le correzioni alla tua distribuzione non supportata, il che, francamente, non sembra fattibile.
Non sono un utente Ubuntu, quindi non posso commentare la completezza delle patch che otterresti con l'opzione 3, ma se hai qualche dubbio, presumo che non avrai una copertura completa.
La soluzione migliore è passare a una versione LTS di Ubuntu, che fornirà supporto per le versioni dei pacchetti fornite per un po' di tempo a venire. Col tempo, alcuni dei pacchetti saranno obsoleti, ma il tuo ambiente avrà patch di sicurezza e sarà stabile (nessun aumento della versione del pacchetto). Dalla mia esperienza, la stabilità di un ambiente di lavoro noto di solito è più preziosa delle nuove funzionalità.
Sembra che la tua posizione attuale non sia mantenibile e devi muoverti. L'unico modo sicuro è ottenere una seconda macchina (o una macchina virtuale) e testare le migrazioni finché non si dispone di una procedura di successo ripetibile, quindi applicarla alla macchina di produzione. Se utilizzi i tuoi backup per eseguire migrazioni di prova, avrai una buona opportunità per testare anche le tue procedure di backup.
Soluzione 3:
L'unico vero modo per andare avanti è un aggiornamento della distribuzione. Posso capire che tu sia nervoso per questo, dato che a questo punto salterai diverse versioni in avanti (l'11.04 è appena stato rilasciato).
Consiglierei di creare un clone delle unità in questa macchina e quindi utilizzare un computer separato per eseguire i cloni e utilizzarlo per eseguire una serie di aggiornamenti di prova. Prendi nota di tutti i problemi riscontrati e ripeti finché non avrai una procedura chiara per tutti loro. Quindi applicalo al tuo server live.
Se non puoi permetterti tempi di inattività, la migrazione è l'unica via d'uscita. Dimentica i pinning e i backport, che ti manterranno in vita solo per un periodo di tempo limitato. E l'opzione "roll your own" non vale nemmeno la pena di essere presa in considerazione. Vale solo i miei 2 penny.