2011-03-21 2 views
9

Je souhaite utiliser la commande 'chkconfig --del NetworkManager' dans la section% install d'un fichier de spécification rpm. Si j'inclus cette commande le rpm se construit bien mais quand j'installe ce rpm, il semble que la commande ne soit pas exécutée. Après l'installation, j'ai vérifié en utilisant la commande 'chkconfig --list' et j'ai observé que le service était en cours d'exécution.Commande chkconfig dans le fichier de spécification rpm

Voici le fichier de spécifications que j'utilise. S'il vous plaît laissez-moi savoir si je me trompe.

%define name disable_network-manager 
%define version 1.0 
%define release fc 

Name:  %{name} 
Version: %{version} 
Release: 1%{?dist} 
Summary: Includes the script to disable Network Manager services 

Group:  Development/Other 
License: GPL 
URL:  www.abcd.com 
Source0: %{name}-%{version}.tar.gz 
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) 

%description 
sample text. 

%prep 
%setup -q 

#%build 

%install 
/sbin/chkconfig --del NetworkManager 
rm -rf $RPM_BUILD_ROOT 
install -m 0755 -d $RPM_BUILD_ROOT/usr/bin 
install -m 0755 enablenm.sh $RPM_BUILD_ROOT/usr/bin/enablenm.sh 

%clean 
rm -rf $RPM_BUILD_ROOT 


%files 
/usr/bin/enablenm.sh 
+0

Fondamentalement, je voudrais créer un paquet rpm qui va désactiver le gestionnaire de réseau (chkconfig --del NetworkMnager). S'il vous plaît aviser le bon fichier de spécifications. – Souvik

Répondre

8

Ok, Vous avez trouvé la réponse. J'aurais dû lancer la commande chkconfig à partir de la section% post au lieu de la section% install.

2

En fait, votre réponse est fausse, je pense ...

D'abord, vous voulez faire /sbin/chkconfig NetworkManager off pour l'éteindre proprement; --del le supprime du contrôle chkconfig. Deuxièmement, cela l'empêche d'être exécuté la prochaine fois que vous redémarrerez. Pour arrêter l'instance en cours d'exécution, vous devez appeler /sbin/service NetworkManager stop.

Mais oui, la section %install n'est pas exécutée sur la machine cible, seulement sur la machine de construction. %post est l'endroit approprié pour mettre les deux commandes que j'ai ci-dessus.

-1

Et vous pourriez aussi bien dépendre de tout ce qui fournit le gestionnaire de réseau.

+0

Qu'est-ce que cela signifie? –

+1

L'installation/la désinstallation de RPM échouera si /etc/init.d/NetworkManager n'est pas présent. Ce fichier de service fait partie du package Network Manager et votre RPM dépend donc du module Network Manager. – user318904

Questions connexes