这几乎是一个简单的问题/答案,我只是找不到信息。
我正在尝试根据安装新内核时自动重新安装 VMWare 工具。我似乎记得下面有一个目录/etc
,每当new-kernel-pkg
安装新内核并构建 initrd 时,它都会执行它在其中找到的任何可执行脚本。我查看了我的历史记录,并尝试在我的系统上通过谷歌找到它,但我找不到它。
答案1
从这里,我看到这/etc/kernel/postinst.d
是在内核安装期间需要执行脚本时放置脚本的地方。这需要数据管理系统在您的系统上可用(许多发行版,包括 RHEL,都支持它)。
既然您提到自动重新安装虚拟机软件工具,我发现您可以按照讨论的那样将其自动化这里。
该链接有以下脚本。
#! /bin/bash
# Following lines auto-recompile VM Tools when kernel updated
VMToolsCheckFile="/lib/modules/`uname -r`/misc/.vmware_installed"
VMToolsVersion=`vmware-config-tools.pl --help 2>&1 | awk '$0 ~ /^VMware Tools [0-9]/ { print $3,$4 }'`
printf "\nCurrent VM Tools version: $VMToolsVersion\n\n"
if [[ ! -e $VMToolsCheckFile || `grep -c "$VMToolsVersion" $VMToolsCheckFile` -eq 0 ]]; then
[ -x /usr/bin/vmware-config-tools.pl ] && \
printf "Automatically compiling new build of VMware Tools\n\n" && \
/usr/bin/vmware-config-tools.pl --default && \
printf "$VMToolsVersion" > $VMToolsCheckFile && \
rmmod pcnet32
rmmod vmxnet
depmod -a
modprobe vmxnet
fi
将以上内容另存为服务器上名为vmware-check-tools
.然后以 root 身份执行以下操作。
cp vmware-check-tools /etc/init.d
chmod 755 /etc/init.d/vmware-check-tools
cd /etc/rc.d/rc3.d
ln -s ../init.d/vmware-check-tools S09vmware-check-tools
但是,我不确定该脚本是否按要求完成工作,因为我没有办法在我的设置中测试它。