我正在为一个自定义的Scientific Linux ISO开发一个kickstart脚本。 不过,我遇到了从源代码安装一些程序的问题。
以下是我正在尝试的一般语法。 我将把.tgz文件复制到/ tmp /目录,然后执行命令。 当我这样做login到计算机,它工作正常。 但是我相信,当kickstart脚本正在尝试运行它时,它不会像我想要的那样停留在初始目录中。 我所有的rpm安装工作正常,因为它只是1命令。 是否有另一种方法来尝试编译这些?
%post --nochroot cp -f nmap-6.01.tgz $INSTALL_ROOT/tmp/ %post tar xzf /tmp/nmap-6.01.tgz -C /tmp/ cd /tmp/nmap-6.01 && ./configure && make && make install rm -f /tmp/nmap-6.01.tgz rm -rf /tmp/nmap-6.01
提前致谢。
编辑:对于nmap我结束了获得转速,它工作正常。 不过还有其他的程序需要编译,我需要弄清楚。
编辑2:我把它分解了一些,并添加了一些额外的日志logging,这就是我现在看到的。
configuration:错误:安装或configuration问题:C编译器无法创build可执行文件
然后当我看到实际的config.log文件,我看到这个错误。
collect2:找不到'ld'
和
当我login的时候,它工作的很好,所以又是如何在kickstart中构build的。
cd /tmp/nmap-6.01 && ./configure >> /tmp/nmap.log 2>> /tmp/nmap.log cd /tmp/nmap-6.01 && make >> /tmp/nmap.log 2>> /tmp/nmap.log cd /tmp/nmap-6.01 && make install >> /tmp/nmap.log 2>> /tmp/nmap.log
是的,我想问你为什么不使用发行版的nmap包。
如果您想分发仅源代码的软件, 正确的答案是创build您自己的RPM存储库并将这些软件包作为RPM进行分发。 例如,构build您自己需要部署的软件的RPM。
但总的来说,对于您的具体设置,尝试将构build分解成多个部分。 也许使用一些基本的variables和命令的完整path。
编辑:
当然,您可能没有安装环境中所需的全部开发工具。