Mise à jour de la MNF sans risque de modifier urpm

Le MNF (Multi Network Firewall) est un des produits pare-feu les plus richement pourvus en fonctionnalités du marché. Il est basé sur un kernel Linux 2.4 sécurisé. Ce forum est également destiné à accueillir tous les posts concernants les distributions Mandriva (anciennement Mandrake)

Modérateur: modos Ixus

Messagepar Jacques- » 03 Fév 2004 01:47

Bonjour, <BR> <BR>Voici la suite de mes modifs sur le script /usr/share/naat/scripts/packages_to_update.pl pour permettre de mettre à jour la MNF sans risquer de télécharger par erreur la mise à jour urpmi (qui bloque ensuite le bon déroulement des scripts modifiés). <BR>Donc, il faut modifier le script packages_to_update.pl de la façon suivante : <BR> <BR>Ligne 38 (normalement) <BR>my $mandrake_release = `rpm -q --qf '%{VERSION}n' mandrake-release | tr -d [A-Z,a-z]`; <BR> <BR>(ajout de la commande tr en fin de ligne pour ne garder que les chiffres) <BR> <BR>Cette ligne pourrait aussi être modifiée de la sorte : <BR>my $mandrake_release = 8.2; <BR> <BR>Ligne 120 (normalement), cette ligne est à ajouter juste en dessous de la ligne : <BR>my ($installed) = grep { $_->{name} eq $pkg->{name} } @{$track->{$_}{upgraded} || []}; <BR> <BR>Insérer donc juste après la commande suivante (qui permet de passer à l'élément suivant de la liste si le package se nomme urpmi): <BR>next if (grep /urpmi/,$pkg->{name}); <BR> <BR>Ce qui doit donner au final pour le bloc de commandes : <BR>foreach (keys %packages) { <BR> my $pkg = $urpm->{params}{depslist}[$_]; <BR> my ($installed) = grep { $_->{name} eq $pkg->{name} } @{$track->{$_}{upgraded} || []}; <BR> next if (grep /urpmi/,$pkg->{name}); <BR> push @list, { name => $pkg->{name}, <BR> version => "$pkg->{version}-$pkg->{release}", <BR> installed => "$installed->{version}-$installed->{release}", <BR> size => $pkg->{size}, <BR> }; <BR>} <BR> <BR>Les autres modifs sont les mêmes (fichier /var/www-naat/html/fr/secure/modules/mu4naat/mu4naat.wvm pour l'interface en français, ou /var/www-naat/html/en/secure/modules/mu4naat/mu4naat.wvm pour l'interface en anglais) à modifier pour faire pointer le lien sur un serveur libre d'accès : <BR>Choix de la page du miroir perso dans la ligne 6 <BR>6 SHOW modules/mu4naat/PersonallMirror <BR> <BR>Sélection du site FTP dans la ligne 8 <BR>8 EXEC config-wrapper.pl $md5 -s CurrentMirror <!-- BBCode auto-link start --><a href="ftp://ftp.lip6.fr:21/pub/linux/distributions/mandrake/updates/" target="_blank">ftp://ftp.lip6.fr:21/pub/linux/distributions/mandrake/updates/</a><!-- BBCode auto-link end --> <BR> <BR>Pour faciliter l'usage, le site peut être remplacé par son adresse IP (195.83.118.1). <BR>Ne pas oublier d'ouvrir la connexion FTP vers ce site dans le sens FW->WAN et éventuellement d'ajouter l'adresse IP de ce site dans le fichier hosts, ou au strict minimum vérifier que le site est joignable depuis le MNF. <BR>ACCEPT fw wan tcp ftp <BR>ACCEPT fw wan tcp ftp-data <BR> <BR>Bonnes modifications <BR>Jacques
Avatar de l’utilisateur
Jacques-
Vice-Amiral
Vice-Amiral
 
Messages: 952
Inscrit le: 23 Jan 2003 01:00

Petite erreur

Messagepar netspirit » 25 Mars 2004 16:31

Bonjour Jacques,

Désolé de ne pas t'avoir répondu plus tôt pour tes modifs. Je les ai essayé seuleument hier :(
Dans mon cas et pour que cela fonctionne, j'ai mis cette ligne en plus du reste :

my $mandrake_release = "8.2"; (avec des double-quotes de part et d'autre du 8.2)
Sinon ça ne fonctionnait pas et la liste des mises à jour restait vide.

Et j'ai commenté cette ligne :
# my $mandrake_release = `rpm -q --qf '%{VERSION}n' mandrake-release | tr -d [A-Z,a-z]`;


@+
Olivier
Nous ne savons pas le vrai si nous ne savons la cause - PLATON
www.om-conseil.fr
Avatar de l’utilisateur
netspirit
Premier-Maître
Premier-Maître
 
Messages: 49
Inscrit le: 13 Oct 2003 00:00

Messagepar lembal » 25 Mars 2004 18:11

Jacques,

Grand expert Es MNF, j'ai besoin de ton aide !!
Peux-tu prendre le temps de regarder mon post concernant Shorewall et MSN ??!!

Merci d'avance !
lembal
Vice-Amiral
Vice-Amiral
 
Messages: 880
Inscrit le: 13 Jan 2003 01:00
Localisation: Paris

Messagepar Jacques- » 26 Mars 2004 22:25

Vois ma réponse, il te reste du boulot pour faire marcher ça...

Jacques
Avatar de l’utilisateur
Jacques-
Vice-Amiral
Vice-Amiral
 
Messages: 952
Inscrit le: 23 Jan 2003 01:00

Messagepar theman3124 » 19 Avr 2004 11:54

Salut Jacques,

J'ai correctement effectué la modif du script (plusieurs fois vérifié), mais le package urpmi apparait toujours dans la liste des màj dispo ! :marre:
Ne serait-ce pas lié au changement d'adresse ftp ?
N'étant pas très doué dans ce genre d'exercice, je ne sais quoi regarder ! :cry:
"Ça ne sert à rien tant qu'on n'en a pas besoin..."
Avatar de l’utilisateur
theman3124
Aspirant
Aspirant
 
Messages: 110
Inscrit le: 01 Fév 2003 01:00
Localisation: Toulouse

Messagepar Jacques- » 20 Avr 2004 07:55

Le changement de serveur FTP ne devrait pas modifier le traitement de la liste des packages.
Si l'adresse est erronée, la liste proposée est vide et on ne rentre donc pas dans le cas où tu vois le package urpmi.

cette modif marche sans problème sur ma MNF et avec le nouveau serveur. Je pense que l'erreur est dans une ligne du fichier, il suffit d'un signe de ponctuation...

Bon courage
jacques
Avatar de l’utilisateur
Jacques-
Vice-Amiral
Vice-Amiral
 
Messages: 952
Inscrit le: 23 Jan 2003 01:00

Messagepar theman3124 » 21 Avr 2004 01:01

Voici une copie d'une partie du fichier "packages_to_update.pl"

foreach (keys %packages) {
my $pkg = $urpm->{params}{depslist}[$_];
my ($installed) = grep { $_->{name} eq $pkg->{name} } @{$track->{$_}{upgraded} || []};
next if (grep /urpmi/,$pkg->{name}),
push @list, { name => $pkg->{name},
version => "$pkg->{version}-$pkg->{release}",
installed => "$installed->{version}-$installed->{release}",
size => $pkg->{size},
};
}

Je n'arrive pas à voir où est l'erreur...
Merci pour le coup de main !

:up:
"Ça ne sert à rien tant qu'on n'en a pas besoin..."
Avatar de l’utilisateur
theman3124
Aspirant
Aspirant
 
Messages: 110
Inscrit le: 01 Fév 2003 01:00
Localisation: Toulouse

Messagepar Jacques- » 21 Avr 2004 12:45

Erreur en fin de la ligne que tu as ajouté :

Ta ligne :
next if (grep /urpmi/,$pkg->{name}),

La mienne :
next if (grep /urpmi/,$pkg->{name});

C'est un point virgule en fin de ligne, il s'agit de la fin d'une commande.
En fait, le script doit passer au paquetage suivant si on trouve urpmi dans le nom, et ne pas exécuter les commandes qui suivent, donc on finit la commande et on repart dans la boucle.

Jacques
Avatar de l’utilisateur
Jacques-
Vice-Amiral
Vice-Amiral
 
Messages: 952
Inscrit le: 23 Jan 2003 01:00

Messagepar theman3124 » 21 Avr 2004 20:10

MERCI !!!!

Désolé de t'avoir importuné mais impossible de voir mon erreur !

J'ai testé et évidemment ça fonctionne nickel \:D/

=D> =D> =D>

A+
"Ça ne sert à rien tant qu'on n'en a pas besoin..."
Avatar de l’utilisateur
theman3124
Aspirant
Aspirant
 
Messages: 110
Inscrit le: 01 Fév 2003 01:00
Localisation: Toulouse


Retour vers Mandriva MNF & SNF

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité