2011-03-21 7 views
9

Me gustaría utilizar el comando 'chkconfig --del NetworkManager' en la sección% de instalación de un archivo de especificaciones rpm. Si incluyo este comando, las rpm están bien pero cuando instalo esas rpm, parece que el comando no se ejecuta. Después de la instalación, verifiqué el uso del comando 'chkconfig --list' y observé que el servicio se estaba ejecutando.comando chkconfig en el archivo de especificaciones rpm

Aquí está el archivo de especificaciones que estoy usando. Por favor, avíseme si me estoy equivocando.

%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

Básicamente me gustaría crear un paquete de rpm que deshabilitará el administrador de red (chkconfig --del NetworkMnager). Por favor avise el archivo de especificaciones correcto. – Souvik

Respuesta

8

Ok, tengo la respuesta. Debería haber emitido el comando chkconfig desde la sección% post en lugar de la sección% install.

2

En realidad, su respuesta es incorrecta Creo ...

En primer lugar, usted quiere hacer /sbin/chkconfig NetworkManager off para apagarlo limpiamente; --del lo quita del control chkconfig.

En segundo lugar, eso solo detiene que se ejecute la próxima vez que reinicie. Para detener la instancia que se está ejecutando actualmente, debe llamar al /sbin/service NetworkManager stop.

Pero sí, la sección %install no se ejecuta en la máquina de destino, solo en la máquina de compilación. %post es el lugar adecuado para poner los dos comandos que tengo arriba.

-1

Y también puede depender de lo que proporcione el administrador de red.

+0

¿Qué significa esto? –

+1

La instalación/desinstalación de RPM fallará si /etc/init.d/NetworkManager no está presente, este archivo de servicio es parte del paquete de Network Manager, por lo que su RPM tiene una dependencia de tiempo de ejecución en el paquete de Network Manager. – user318904

Cuestiones relacionadas