Newsgroup: it.comp.os.linux.sys
Titolo: Aggiornamento di una marea di Servers

Ciao a tutti!
Ho un grosso problema: un UL di Davidebianchiana memoria! =:(((
Spiego meglio:
La ditta per la quale lavoro (un ISP) ha, al momento, circa 200 Servers di
clienti e il numero continua a crescere (per fortuna! =:) ).
La stragrande maggioranza di questi Servers viene gestita da noi. Sono
relativamente pochi quelli che scelgono di essere root e risolversi da
loro i problemi...
Questi Servers hanno installato Linux in una distribuzione a scelta del
cliente tra Gentoo, Debian e SuSE.
Ognuna di queste distribuzioni ha, ovviamente, il suo Package-Manager che
funziona anche bene (emerge, apt, YaST).
Il problema e' che questo UL e' quello incaricato di tenere in ordine
questi Servers.
Il suo problema, in effetti, e' reale: deve sempre tenere aggiornati i
Servers, badando bene di NON aggiornare programmi che il cliente non vuole
aggiornare (per esempio, se il cliente vuole PHP4, non possiamo fare
l'aggiornamento a PHP5) e NON aggiornare pacchetti che sono dipendenze di
altri programmi da non aggiornare (perche' il cliente vuole cosi' o
perche' sappiamo che, se aggiornati, farebbero schiantare altri N
programmi sparsi per il Server).
Il tipo ha avuto dunque l'Idea (notare la maiuscola!): far sviluppare al
nostro team di programmatori (3 + un praticante!) un programma,
indipendente dalla distribuzione (e SENZA appoggiarsi ai Package-Manager
della distribuzione!!), che gestisca l'aggiornamento del sistema,
risolvendo le dipendenze dei pacchetti e badando bene a NON aggiornare
cio' che non deve essere aggiornato o che e' una dipendenza di qualcosa
che non deve essere aggiornato.
Ovviamente, i 3 tapini (tra i quali il sottoscritto) hanno ben altro da
fare che non perdere un paio d'anni per scrivere questo programma
(sopratutto perche', se lo facessimo, quando il programma sara' finito non
sara' piu' necessario usarlo perche' la ditta sara' fallita visto che
dovremo lasciar perdere TUTTO il resto).
Ovviamente, sia io che gli altri due programmatori abbiamo cercato di
fargli capire che la cosa e' semplicemente assurda, ma e' il suo progetto
del cuore (e, sopratutto, non deve svilupparlo lui!), quindi non c'e'
speranza di fargli cambiare idea a meno che non intervenga il capo in
persona...
Quindi la domanda e': qualcuno conosce un programma (non necessariamente
free e/o opensource) che faccia al caso nostro?
Grazie mille a tutti per i vostri consigli e scusate la lunghezza del
post...
Ciao
Luca Bertoncello
(
luca...@lucabert.de
)
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 manometterlo ad uopo.
Intendi up2date di RedHat?
Non e' che sia cosi' entusiasta di studiarmi un programma e modificarlo
per gestire le "blacklist"...
Il tempo che abbiamo a disposizione e' veramente POCHISSIMO. E abbiamo
tanto da fare..
Comunque, e' un'idea!


 RedHat lo fa per te se vuoi. Basta pagarli.
Esattamente come SuSE... =:)))
Il problema e' poi se si riesce ad usare up2date con le altre
distribuzioni...
Che io sappia, up2date utilizza gli RPM, che sono usati solo da RedHat e
SuSE...
Come si possa comportare con Debian e Gentoo e' ancora da vedere...
So che e' un'impresa disperata...
ciao


 So che e' un'impresa disperata...
Per Debian puoi farlo in modo MOLTO semplice:
Per bloccare l'update:
echo pacchetto hold | dpkg --set-selections
Per sbloccarlo
echo pacchetto install | dpkg --set-selections
Per gentoo non so.
Il tuo problema però è quello di determinare quali sono i pacchetti da
bloccare e su quali macchine bloccarne l'aggiornamento. Fare questo su
3 diverse tipologie di distro è veramente arduo se non impossibile.

 che non deve essere aggiornato.
Forse e' piu' semplice creare un wrapper che introduca un livello di
astrazione tra quello che volete fare voi e i package manager nativi
delle tre distribuzioni. In pratica, voi configurate il vostro tool,
lui lavora sulla base di questa conf, adeguandosi alla distribuzione
su cui e' in esecuzione e usando i tool/api nativi. 
Non vedo l'esigenza di NON appoggarsi a pkg manager [1].
Fabio
[1] se non per complicarsi la vita, oppure per implementare qualcosa
    di specifico che hai omesso (o UL s'e' dimenticato di dirvi).

 che non deve essere aggiornato.
Seguendo freshmeat mi sono imbattuto spesso in "meta-package-manager",
che sempre bollati come "inutili", perlomeno dal mio punto di vista...
forse pero' a te potrebbe venire buono uno di questi, credo che
http://smartpm.org/
 oppure 
http://freshmeat.net/projects/unipkg/
 
possano essere una buona base. Manca pero' per entrambe il supporto a
gentoo.
Gufo
-- 
  ,___,		Never trust an operating system.
  (9v9)
  (_^((\		    .: May the owl be with you :.
-^-"-"-\\-^--	 	 -- Remove -me- to reply in email --

 su cui e' in esecuzione e usando i tool/api nativi.
Quoto.
-- 
Chaos A.D.		|	Raging crowd
Tanks on the streets	|	Burning cars
Confronting police	|	Bloodshed starts
Bleeding the Plebs	|	Who'll be alive?

 Non vedo l'esigenza di NON appoggarsi a pkg manager [1].
L'idea del wrapper sarebbe venuta anche a me...
Il problema e' a quel punto introdurre la "blacklist" dei pacchetti che
non devono mai essere aggiornati (se non a mano!) ne' come pacchetti a se
stanti, ne come dipendenze di altri pacchetti...
ciao


 stanti, ne come dipendenze di altri pacchetti...
Con Dselect/Aptitude di Debian si puo' mettere un pacchetto in hold. Non
so come, ma immagino si possa fare anche con tool CLI (ah, ecco, Dpkg!),
ed immagino pure che le altre distribuzioni abbiano qualcosa di simile.
Poi si puo' anche ottenere la lista dei pacchetti messi in hold.
Ad essere ottimista, anche qui e' facile coi wrapper. :)
	ipotizzatamente,
	    Cthulhu
-- 
http://www.rlyeh.it/Rantolii/

 
Non uso pkg manager (slack...) ma se
-ti fai dare la lista degli aggiornamenti dal pakage manager
-per ogni aggiornamento controlli che non sia nella tua black list
-se passi il controllo chiedi al package manager di farti la lista delle 
dipendenze eventualmente da soddisfare
-nuovo controllo dipendenze
-se passi il test dai il comando di aggiornamento.
Se i pkg manager ti fanno la lista delle dipendenze sei a posto
-- 
Roberto Tagliaferri-Linux user #30785 <-> r.tagliaferri@(forse)
tosnet.it
E' un cretino illuminato da lampi di imbecillita'.
		-- Ennio Flaiano

 stanti, ne come dipendenze di altri pacchetti...
Verrebbe "wrappata" anche quella. Php deve stare alla versione 4? Bene,
il .conf del vostro tool conterra' php=4. Se il server sara' gentoo, il
tool usera' questa direttiva gestendo adeguate modifiche a package.mask
o a packages, in "base" o nel profilo in uso, o a world... o a quel che
riterrete piu' opportuno, mentre se e quando ci sara' sotto una debian,
pinnera' [1] sulle versioni opportune spippolando /etc/apt/preferences.
Sto' buttando giu' cose come mi vengono, eh, tipo brainstorming.
Fabio
[1] terrificante, eh? O si dice?

 So che e' un'impresa disperata...
Con Gentoo puoi utilizzare semplicemente /etc/portage/package.mask .
Scrivi lì il nome del pacchetto che vuoi mascherare e portage non ti
permetterà di installarlo o aggiornarlo. Esempio:
# echo x11-base/xfree >> /etc/portage/package.mask
Aloha

 
Ciao.
--
Giuseppe