#!/bin/bash
# Program:
#   Check root identity and change root to exectue client_install.sh
# Author: 
#   Waue, Shunfa, Rock {waue, shunfa, rock}@nchc.org.tw
# History:
#   2010/05/20  Rock    First release

# 正式版之後，記的將不必要 read 拿掉 (trace 用的 read)

# 需要 master_install 設定的參數區
# Master IP here
Master_IP_Address="input.your.master.ip_address"
# Master Hostname here
Master_Hostname="input_your_master_hostname"
# 此檔自己用的參數區
Linux_Distribution="";
Linux_Version="";
Nutchuser_Passwd="xxxxxxxxxx";
Work_Path="./"
Work_Path_J=0

# Work Path Setup
echo $0 | grep '/' || Work_Path_J=1
if [ "$Work_Path_J" == "0"  ]; then
    Work_Path=$(echo $0 | sed 's/client_install//')
fi
# Source functions
source $Work_Path/client_install_func.sh

# Language Choice
choose_lang

# 參數詢問
yesno="no"
show_info "$par_echo_1 $Master_IP_Address"
read -p "$par_echo_2" yesno
              
if [ "$yesno" == "yes" ] || [ "$yesno" == "y" ] ; then
    show_info "$par_echo_3"
else
    show_info "$par_echo_4"
    exit
fi


# 檢查執行這個程式的是否為root權限
check_root
read -p "continue.."

# 查出此主機的作業系統,以及版本
check_systemInfo
read -p "continue.."

# 安裝需要的套件 (目前只支援 deb 套件的系統自動安裝，yum或其他套件系統的則必須手動安裝)
# 需要套件名稱 ssh, expect, dialog 
install_packages
read -p "continue.."

# 檢查之前是否有安裝NutchEz
# 目前先檢查是否有/opt/nutchez 這個資料夾即可
check_nez_installed
read -p "continue.."

# 檢查是否有安裝sun java ,並檢查是否為jdk 1.6 以上版本
check_sunJava
read -p "continue.."

# 檢查是否有安裝openssh, openssh-server
check_ssh
read -p "continue.."

# 檢查是否有安裝dialog
check_dialog
read -p "continue.."

# 新增nutchuser 帳號時用 Nutchuser_Passwd 當密碼
creat_nutchuser_account
read -p "continue.."

# scp nutchuser@master_ip:~ 把.ssh/目錄複製下來
# 當使用者輸入nutchuser 密碼時，將此密碼紀錄到Nutchuser_Passwd
# 此步驟若無法連到 master 則跳出
scp_master_nutchuser_sshkey $Master_IP_Address
read -p "continue.."

# 用scp 複製 master 的設定與安裝資料
# 目前僅需做到能無礙的複製遠端的/opt/nutchez/到local的/opt/
scp_packages $Master_IP_Address
read -p "continue.."

# 安裝及啟動
install_nutch_package
read -p "continue.."

# 回覆 Hostname 和 IP 給 Master Server
recall_hostname_ip $Master_IP_Address
read -p "continue.."
