在安裝jenkins的時(shí)候一直失敗竟贯。報(bào)錯(cuò)內(nèi)容是
stat: cannot stat ‘/var/cache/jenkins’: No such file or directory
stat: cannot stat ‘/var/log/jenkins’: No such file or directory
stat: cannot stat ‘/var/lib/jenkins’: No such file or directory
error: %pre(jenkins-2.150.1-1.1.noarch) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package jenkins-2.150.1-1.1.noarch
Verifying : jenkins-2.150.1-1.1.noarch 1/1
Failed:
jenkins.noarch 0:2.150.1-1.1
問(wèn)題的關(guān)鍵是PREIN scriptlet
漠秋,就是preinstall scriptlet笼裳,這是rpm在安裝前執(zhí)行的一段sh腳本刊头,為安裝創(chuàng)建相應(yīng)的文件夾什么的骄噪。
上面的三個(gè)No such file or directory顯然就是刻盐,這三個(gè)文件夾沒(méi)有被創(chuàng)建好掏膏。
我們看看preinstall出了什么問(wèn)題。
yum install jenkins --downloadonly --downloaddir=/root
rpm --scripts -qp jenkins-2.150.1-1.1.noarch.rpm > jenkins.log
關(guān)于這兩條命令在做什么應(yīng)該很明了吧敦锌。我們找一下和那三個(gè)文件夾有關(guān)的部分馒疹。
if [ -f "/etc/sysconfig/jenkins" ]; then
logger -t jenkins.installer "Found previous config file /etc/sysconfig/jenkins"
. "/etc/sysconfig/jenkins"
stat --format=%U "/var/cache/jenkins" > "/tmp/jenkins.installer.cacheowner"
stat --format=%U "/var/log/jenkins" > "/tmp/jenkins.installer.logowner"
stat --format=%U ${JENKINS_HOME:-/var/lib/jenkins} > "/tmp/jenkins.installer.workdirowner"
else
logger -t jenkins.installer "No previous config file /etc/sysconfig/jenkins found"
fi
這問(wèn)題就很明白了,結(jié)合前面的stat報(bào)錯(cuò)乙墙,明確了就是這段報(bào)錯(cuò)誤颖变。這段的意思是,如果/etc/sysconfig/jenkins
存在听想,執(zhí)行下面一系列操作腥刹,應(yīng)該是為了重復(fù)安裝寫(xiě)的。
一看這個(gè)/etc/sysconfig/jenkins
汉买,真的有衔峰,是昨天看教程的時(shí)候看漏了一步給加上去的...這就很搞笑了
總結(jié)一哈
出了問(wèn)題,搞明白工具在干嘛是最好的解決方法