歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

redhat用kickstart.cfg自動安裝後,掛載ISO鏡像並從中拷貝文件

# copy files from the rhel.iso image to system                                                                                        
if [ ! -b /tmp/cdrom ];then  
  echo "make cdrom node using mknod" >> /root/ins.log  
  # get the major number  
  major=$(lsblk |grep rom | awk '{print $2}' |awk -F : '{print $1}')  
  # get the minor number  
  minor=$(lsblk |grep rom | awk '{print $2}' |awk -F : '{print $2}')  
  echo "major=${major}  minor=${minor}" >> /root/ins.log  
  # make sure we have what we need; create device node if so  
  [ -n "$major" -a -n "$minor" ] && mknod /tmp/cdrom b ${major} ${minor}  
fi  
  
echo "mount the iso to /mnt/source" >> /root/ins.log  
[ ! -d /mnt/source ] && mkdir -p /mnt/source  
mount -t iso9660 -o ro /tmp/cdrom /mnt/source  

  這樣的話我們的安裝鏡像rhel.iso就掛載到/mnt/source目錄下,在kickstart.cfg的%post下添加拷貝文件的腳本  
# copy the id_rsa.pub to authorized_keys  
[ ! -d /root/.ssh ]  && mkdir -p /root/.ssh  
cat /mnt/source/id_rsa.pub >> /root/.ssh/authorized_keys  
[ $? -ne 0 ] && echo "copy id_rsa.pub to authorized_keys failed." >> /root/ins.log  

 

  原始問題: redhat可以利用kickstart.cfg文件的內容進行自動化安裝,並且在kickstart.cfg文件中加入%post標簽就可以在安裝結束後執行一些腳本,這些腳本放在%post標簽後面。   但一個問題是,當安裝好OS後,如果我們想從原始的ISO鏡像拷貝文件到安裝好的系統,那麼必需對其進行掛載,以上代碼實現了其功能
Copyright © Linux教程網 All Rights Reserved