預設上, RHEL5.x與CentOS5.x的bind有chroot的機制, 所以當系統管理者要去更改named.conf或是相關的DNS zonefile時就必需要輸入/var/named/chroot/etc/ or /var/named/chroot/var/named/ 恩... 有點長, tab要按好幾次, 於是乎帽客想到了一個好用的偷懶方法,
CDPATH.
透過CDPATH可以設定parent directory然後透過cd指令切入到subdirectories, 看起來有點抽象? 實際看看例子吧:
上面的例子是設定CDPATH為DNS Server chroot的路徑(/var/named/chroot), 並將它變成環境變數, 之後只要輸入cd etc就會切入到/var/named/chroot/etc, 而cd var/named就會切入到/var/named/chroot/var/named.
看起來方便多了吧!
update:
讓CDPATH重開機時就生效吧:
echo "CDPATH=/var/named/chroot" >> /root/.bash_profile
2009.3.16 update:
今天發現到bash內建的command,pushd與popd也有著類似的功能:
先將/var/named/chroot 透過pushd新增至stack中,並用dirs確定目前stack的內容(第一筆永遠是current directory),之後透過cd就可以切換到subdirectories。