我想在rpm spec文件的%install部分中使用'chkconfig --del NetworkManager'命令。如果我包含此命令,rpm正在构建正常但是当我安装该rpm时,它看起来命令没有被执行。安装完成后,我使用'chkconfig --list'命令验证并观察到服务一直运行。
这是我正在使用的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 :(得分:8)
好的,得到了答案。我应该从%post部分而不是%install部分发出chkconfig命令。
答案 1 :(得分:2)
实际上,我认为你的回答是错误的......
首先,您要/sbin/chkconfig NetworkManager off
干净地关闭它; --del
将其从chkconfig
控件中删除。
其次,这只是在下次重启时停止运行。要停止当前运行的实例,您需要调用/sbin/service NetworkManager stop
。
但是,%install
部分不在目标计算机上运行,只在构建计算机上运行。 %post
是放置我上面两个命令的适当位置。
答案 2 :(得分:-1)
你也可以依赖提供网络管理员的任何东西。