2011-03-21 9 views
9

मैं rpm spec फ़ाइल के% install खंड में 'chkconfig --del NetworkManager' कमांड का उपयोग करना चाहता हूं। अगर मैं इस कमांड को शामिल करता हूं तो आरपीएम ठीक से काम कर रहा है लेकिन जब मैं उस आरपीएम को स्थापित करता हूं, तो ऐसा लगता है कि कमांड निष्पादित नहीं होता है। स्थापित करने के बाद मैंने 'chkconfig --list' कमांड का उपयोग करके सत्यापित किया और देखा कि सेवा चलने तक है।rpmconfig कमांड rpm spec फ़ाइल

यहां spec फ़ाइल है जिसका मैं उपयोग कर रहा हूं। कृपया मुझे बताएं कि मैं गलत जा रहा हूं।

%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

असल में मैं एक आरपीएम पैकेज बनाना चाहता हूं जो नेटवर्क मैनेजर (chkconfig --del NetworkMnager) को अक्षम कर देगा। कृपया सही spec फ़ाइल की सलाह दें। – Souvik

उत्तर

8

ठीक है, उत्तर मिला। मुझे% install खंड के बजाय% post खंड से chkconfig कमांड जारी करना चाहिए था।

2

वास्तव में, यदि आपका जवाब गलत मुझे लगता है कि है ...

सबसे पहले, आप इसे बंद करने के सफाई से /sbin/chkconfig NetworkManager off क्या करना चाहते हैं; --del इसे chkconfig नियंत्रण से हटा देता है।

दूसरा, यह आपके द्वारा रीबूट करने पर अगली बार चलने से रोकता है। वर्तमान में चल रहे इंस्टेंस को रोकने के लिए, आपको /sbin/service NetworkManager stop पर कॉल करने की आवश्यकता है।

लेकिन हाँ, %install अनुभाग केवल लक्ष्य मशीन पर लक्ष्य मशीन पर नहीं चलाया जाता है। %post मेरे ऊपर दिए गए दो आदेशों को रखने के लिए उचित जगह है।

-1

और आप जो भी नेटवर्क प्रबंधक प्रदान करते हैं उस पर निर्भर हो सकते हैं।

+0

इसका क्या अर्थ है? –

+1

RPM स्थापना/अनइंस्टॉलेशन विफल हो जाएगा यदि /etc/init.d/NetworkManager मौजूद नहीं है, तो यह सेवा फ़ाइल नेटवर्क प्रबंधक पैकेज का हिस्सा है, इसलिए आपके RPM के पास नेटवर्क प्रबंधक पैकेज पर रनटाइम निर्भरता है। – user318904

संबंधित मुद्दे