maehachi08 Anything Blog

2013年01月04日
RHEL6以降Distributionではtftpbootディレクトリパスが変更になってました

cobblerをRPMパッケージからインストールする場合のtftpbootディレクトリパスがFedora9以降、及びRHEL6以降とそれ以前のDistributionでは異なることを知ったのでメモ残します。

この事はRPMをビルドする際のSPECファイル記述を見ることで分かります。SPECファイルの以下記述です。

%if 0%{?fedora} >= 9 || 0%{?rhel} > 5
mkdir -p $RPM_BUILD_ROOT/var/lib/tftpboot/images
%else
mkdir -p $RPM_BUILD_ROOT/tftpboot/images
%endif

既存のCobblerサーバをCentOS6.3にリプレースする為に、/etc/xinetd.d/tftpファイルをそのまま持ってきたらserver_argsオプションが/tftpbootだったのでCobblerが起動しませんでした。

# cobbler sync
task started: 2013-01-04_184102_sync
task started (id=Sync, time=Fri Jan  4 18:41:02 2013)
Exception occured: <class 'cobbler.cexceptions.CX'>
Exception value: 'cannot find directory: /tftpboot'
Exception Info:
  File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 126, in die
    raise CX(msg)

Exception occured: <class 'cobbler.cexceptions.CX'>
Exception value: 'cannot find directory: /tftpboot'
Exception Info:
  File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 89, in run
    rc = self._run(self)
   File "/usr/lib/python2.6/site-packages/cobbler/remote.py", line 188, in runner
    return self.remote.api.sync(self.options.get("verbose",False),logger=self.logger)
   File "/usr/lib/python2.6/site-packages/cobbler/api.py", line 717, in sync
    return sync.run()
   File "/usr/lib/python2.6/site-packages/cobbler/action_sync.py", line 96, in run
    utils.die(self.logger,"cannot find directory: %s" % self.bootloc)
   File "/usr/lib/python2.6/site-packages/cobbler/utils.py", line 134, in die
    raise CX(msg)

!!! TASK FAILED !!!

/etc/xinetd.d/tftpファイルのserver_argsオプションを修正することで上記エラーを解消しました。