本發(fā)明涉及操作系統(tǒng)技術(shù)領(lǐng)域,尤其涉及Linux操作系統(tǒng)的安裝方法、裝置及系統(tǒng)。
背景技術(shù):
Linux是一個基于POSIX和UNIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng)。它能運行主要的UNIX工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。它支持32位和64位硬件。Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。Linux作為一種開源免費和自由傳播的操作系統(tǒng),由于其穩(wěn)定和節(jié)省硬件資源的特點,現(xiàn)在被廣泛應(yīng)用于臺式計算機、大型機和超級計算機等各種計算機硬件設(shè)備中。
眾所周知,在使用Linux操作系統(tǒng)之前,需要對其進行安裝。如圖1所示,以現(xiàn)有的一種基于PXE(preboot execute environment,預(yù)啟動執(zhí)行環(huán)境)模式安裝Linux操作系統(tǒng)的方法為例,如果在安裝配置文件執(zhí)行過程中報錯,安裝就會中斷,需要在服務(wù)端服務(wù)器修改相應(yīng)的安裝配置文件,然后進行客戶端服務(wù)器的重新啟動,重新進行客戶端服務(wù)器開機自檢,重新執(zhí)行開機自檢后的流程。目前,往往需要對大規(guī)模的客戶端服務(wù)器進行集群式的Linux操作系統(tǒng)升級更新,這種在修改安裝配置文件后,需要客戶端服務(wù)器進行重新啟動、重新執(zhí)行開機自檢及下載相關(guān)安裝文件的安裝方式極大地延長了安裝操作系統(tǒng)的時間,使安裝效率變的異常低下。
技術(shù)實現(xiàn)要素:
技術(shù)問題
有鑒于此,本發(fā)明提供Linux操作系統(tǒng)的安裝方法、裝置及系統(tǒng),其在修改安裝配置文件后,無需重新啟動客戶端服務(wù)器,而能使安裝過程繼續(xù)進行,提高操作系統(tǒng)的安裝效率。
解決方案
一方面,提出了一種Linux操作系統(tǒng)的安裝方法,該安裝方法包括:從客戶端服務(wù)器獲取與Linux操作系統(tǒng)的安裝過程相關(guān)的安裝配置文件和安裝信息;在所述安裝信息指示安裝過程中出現(xiàn)與所述安裝配置文件相關(guān)的錯誤的情況下,根據(jù)所述安裝信息修改所述安裝配置文件;將修改后的所述安裝配置文件推送至所述客戶端服務(wù)器,以使所述客戶端服務(wù)器基于修改后的所述安裝配置文件繼續(xù)執(zhí)行安裝。
另一方面,提出了一種Linux操作系統(tǒng)的安裝裝置,該安裝裝置包括:獲取部件,用于從客戶端服務(wù)器獲取與Linux操作系統(tǒng)的安裝過程相關(guān)的安裝配置文件和安裝信息;修改部件,用于在所述安裝信息指示安裝過程中出現(xiàn)與所述安裝配置文件相關(guān)的錯誤的情況下,根據(jù)所述安裝信息修改所述安裝配置文件;推送部件,用于將修改后的所述安裝配置文件推送至所述客戶端服務(wù)器,以使所述客戶端服務(wù)器基于修改后的所述安裝配置文件繼續(xù)執(zhí)行安裝。
另一方面,提出了一種Linux操作系統(tǒng)的安裝系統(tǒng),該安裝系統(tǒng)包括:管理服務(wù)器,所述管理服務(wù)器承載有上述的安裝裝置;至少一臺客戶端服務(wù)器,與所述管理服務(wù)器連接;服務(wù)端服務(wù)器,與所述客戶端服務(wù)器連接,用于為所述客戶端服務(wù)器提供Linux操作系統(tǒng)映像文件。
有益效果
本發(fā)明各方面通過從客戶端服務(wù)器獲取安裝配置文件及安裝信息,在安裝信息指示安裝過程中出現(xiàn)與安裝配置文件相關(guān)的錯誤的情況下,根據(jù)安裝信息修改安裝配置文件;并將修改后的安裝配置文件推送至客戶端服務(wù)器, 以使客戶端服務(wù)器基于修改后的所述安裝配置文件繼續(xù)執(zhí)行安裝。通過上述技術(shù)手段,可在修改安裝配置文件后,不需重新啟動客戶端服務(wù)器及重新執(zhí)行開機自檢及下載相關(guān)安裝文件,而能使安裝過程繼續(xù)進行,提高了操作系統(tǒng)的安裝效率。
根據(jù)下面參考附圖對示例性實施例的詳細說明,本發(fā)明的其它特征及方面將變得清楚。
附圖說明
包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本發(fā)明的示例性實施例、特征和方面,并且用于解釋本發(fā)明的原理。
圖1示出現(xiàn)有的基于PXE模式安裝Linux操作系統(tǒng)的方法的流程圖;
圖2示出根據(jù)本發(fā)明一實施例的一種Linux操作系統(tǒng)的安裝方法的流程圖;
圖3示出根據(jù)本發(fā)明一實施例的一種基于PXE模式的Linux操作系統(tǒng)的安裝方法的流程圖;
圖4示出根據(jù)本發(fā)明一實施例的Linux操作系統(tǒng)的安裝裝置的結(jié)構(gòu)圖。
圖5示出根據(jù)本發(fā)明一實施例的Linux操作系統(tǒng)的安裝裝置的另一結(jié)構(gòu)圖;
圖6示出根據(jù)本發(fā)明另一實施例的Linux操作系統(tǒng)的安裝系統(tǒng)的結(jié)構(gòu)圖;
圖7示出了本發(fā)明的另一個實施例的一種Linux操作系統(tǒng)的安裝設(shè)備的結(jié)構(gòu)框圖。
具體實施方式
以下將參考附圖詳細說明本發(fā)明的各種示例性實施例、特征和方面。附圖中相同的附圖標記表示功能相同或相似的元件。盡管在附圖中示出了實施 例的各種方面,但是除非特別指出,不必按比例繪制附圖。
在這里專用的詞“示例性”意為“用作例子、實施例或說明性”。這里作為“示例性”所說明的任何實施例不必解釋為優(yōu)于或好于其它實施例。
另外,為了更好的說明本發(fā)明,在下文的具體實施方式中給出了眾多的具體細節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當理解,沒有某些具體細節(jié),本發(fā)明同樣可以實施。在一些實例中,對于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細描述,以便于凸顯本發(fā)明的主旨。
實施例1
圖2示出根據(jù)本發(fā)明一實施例的Linux操作系統(tǒng)的安裝方法的流程圖。該安裝方法可應(yīng)用于管理服務(wù)器,如圖2所示,該安裝方法主要包括:
步驟201,從客戶端服務(wù)器獲取與Linux操作系統(tǒng)的安裝過程相關(guān)的安裝配置文件和安裝信息;
步驟202,在所述安裝信息指示安裝過程中出現(xiàn)與所述安裝配置文件相關(guān)的錯誤的情況下,根據(jù)所述安裝信息修改所述安裝配置文件;
步驟203,將修改后的所述安裝配置文件推送至所述客戶端服務(wù)器,以使所述客戶端服務(wù)器基于修改后的所述安裝配置文件繼續(xù)執(zhí)行安裝。
本發(fā)明實施例提供的Linux操作系統(tǒng)的安裝方法,從客戶端服務(wù)器獲取安裝配置文件及安裝信息,在安裝信息指示安裝過程中出現(xiàn)與安裝配置文件相關(guān)的錯誤的情況下,根據(jù)安裝信息修改安裝配置文件;并將修改后的安裝配置文件推送至客戶端服務(wù)器,以使客戶端服務(wù)器基于修改后的所述安裝配置文件繼續(xù)執(zhí)行安裝。通過上述技術(shù)手段,可在修改安裝配置文件后,不需重新啟動客戶端服務(wù)器及重新執(zhí)行開機自檢及下載相關(guān)安裝文件,而能使安裝過程繼續(xù)進行,提高了操作系統(tǒng)的安裝效率。
以下結(jié)合圖3,來說明Linux操作系統(tǒng)的安裝過程、以及在安裝過程中出現(xiàn)與安裝配置文件相關(guān)的錯誤的情況下,修改所述安裝配置文件,使系統(tǒng)安 裝繼續(xù)進行的一些具體示例,其中以語法檢查錯誤、解析錯誤和執(zhí)行錯誤作為與配置安裝文件相關(guān)的錯誤的例子進行說明。本領(lǐng)域技術(shù)人員應(yīng)理解,具體的錯誤類型可視實際安裝過程中發(fā)生的錯誤而定,以下示例僅為了便于理解本發(fā)明,而非對本發(fā)明進行限制。
在一個示例中,所述安裝過程可以是基于預(yù)啟動執(zhí)行環(huán)境PXE進行的。PXE是由Intel公司開發(fā)的最新技術(shù),如圖3所示,可工作于Client/Server的網(wǎng)絡(luò)模式,可支持客戶端服務(wù)器通過網(wǎng)絡(luò)從服務(wù)端服務(wù)器下載系統(tǒng)映像文件(例如vmlinuz、initrd.img、install.img),并可由此支持通過網(wǎng)絡(luò)啟動操作系統(tǒng),在啟動過程中,客戶端服務(wù)器可要求服務(wù)器分配IP地址,可采用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)協(xié)議從服務(wù)端服務(wù)器下載一個啟動軟件包到本機內(nèi)存中執(zhí)行,可通過這個啟動軟件包完成客戶端服務(wù)器的基本軟件設(shè)置,從而可引導(dǎo)預(yù)先安裝在客戶端服務(wù)器中的操作系統(tǒng)。
在一個示例中,所述安裝配置文件可為ks.cfg文件。Kickstart是一種無人值守的安裝方式,可通過Kickstart工具生成一個名為ks.cfg的文件,該ks.cfg文件可記錄典型的需要人工干預(yù)填寫的各種參數(shù)。當自動進行安裝操作系統(tǒng)時,引導(dǎo)加載程序可按照ks.cfg文件中的參數(shù)進行客戶端服務(wù)器的linux操作系統(tǒng)的安裝。
在一個示例中,如圖3所示步驟301中,管理服務(wù)器可通過網(wǎng)絡(luò)主動獲取客戶端服務(wù)器的安裝配置文件(例如ks.cfg文件)和安裝信息;客戶端服務(wù)器也可通過網(wǎng)絡(luò)主動將安裝配置文件(例如ks.cfg文件)和安裝信息發(fā)送至管理服務(wù)器;還可在管理服務(wù)器與客戶端服務(wù)器之間設(shè)置代理Agent,管理服務(wù)器可通過Agent從客戶端服務(wù)器獲取安裝配置文件(例如ks.cfg文件)和安裝信息。安裝信息可包括安裝進度信息和報錯信息,報錯信息可反映在安裝過程中出現(xiàn)的與安裝配置文件相關(guān)的錯誤。此外,安裝信息還可以包括安 裝進度信息等其他信息,安裝進度信息可反映系統(tǒng)安裝進展的階段或步驟。在一個示例中,與安裝配置文件相關(guān)的錯誤可包括:針對安裝配置文件的語法檢查錯誤、針對安裝配置文件的解析錯誤、和針對安裝配置文件的執(zhí)行錯誤中的一種或多種。
以ks.cfg文件作為安裝配置文件為例,在客戶端服務(wù)器安裝Linux操作系統(tǒng)的過程中,可通過Python解析ks.cfg文件,并可在解析過程中,通過異常處理語句(例如try語句)在緩存中捕獲異常,當捕獲到異常時,可彈出報錯并可生成相應(yīng)的有關(guān)ks.cfg解析的報錯信息。例如有關(guān)ks.cfg文件解析的報錯信息可記錄錯誤類型(例如KickstartParseError)、錯誤在腳本中位置(lineno)及消息(例如Illegal url(不合法的統(tǒng)一資源定位符))?;谙嗤?,在對ks.cfg文件進行語法檢查的過程中或者在ks.cfg文件執(zhí)行過程中,如果捕獲到異常,也可彈出報錯并可生成相應(yīng)的報錯信息。
在一個示例中,參見圖3所示步驟301,可在管理服務(wù)器上查看所獲取的安裝信息,在安裝進度信息和/或報錯信息指示安裝過程中出現(xiàn)與安裝配置文件相關(guān)的錯誤的情況下,可根據(jù)安裝信息(例如報錯信息)修改所獲取的安裝配置文件。例如,在獲取到ks.cfg解析的報錯信息后,可根據(jù)該報錯信息提供的內(nèi)容(例如錯誤類型、錯誤在腳本中位置及消息),修改管理服務(wù)器上獲取的ks.cfg文件。
在一個示例中,如圖3所示步驟302中,可將修改后的安裝配置文件(例如ks.cfg文件)推送至客戶端服務(wù)器,還可以向客戶端服務(wù)器提供指令,以使客戶端服務(wù)器基于修改后的ks.cfg文件可重新執(zhí)行引導(dǎo)加載程序,從而可繼續(xù)執(zhí)行安裝??蛻舳朔?wù)器接收到上述指令后,可重新執(zhí)行引導(dǎo)加載程序(例如loader程序)(步驟303),上述步驟301、302、303可根據(jù)系統(tǒng)安裝過程中出現(xiàn)的實際問題多次執(zhí)行,直至Linux操作系統(tǒng)安裝完成。上述示例,可在修改安裝配置文件(例如ks.cfg文件)后,不需重新啟動客戶端服務(wù)器 及重新執(zhí)行開機自檢及下載相關(guān)安裝文件,而能使安裝過程繼續(xù)進行,提高了操作系統(tǒng)的安裝效率。
實施例2
圖4示出根據(jù)本發(fā)明一實施例的Linux操作系統(tǒng)的安裝裝置的結(jié)構(gòu)圖。該安裝裝置400可應(yīng)用于管理服務(wù)器。如圖4所示,該安裝裝置400主要包括:
獲取部件401,用于從客戶端服務(wù)器獲取與Linux操作系統(tǒng)的安裝過程相關(guān)的安裝配置文件和安裝信息;
修改部件402,用于在所述安裝信息指示安裝過程中出現(xiàn)與所述安裝配置文件相關(guān)的錯誤的情況下,根據(jù)所述安裝信息修改所述安裝配置文件;
推送部件403,用于將修改后的所述安裝配置文件推送至所述客戶端服務(wù)器,以使所述客戶端服務(wù)器基于修改后的所述安裝配置文件繼續(xù)執(zhí)行安裝。
本發(fā)明實施例提供的Linux操作系統(tǒng)的安裝裝置,從客戶端服務(wù)器獲取安裝配置文件及安裝信息,在安裝信息指示安裝過程中出現(xiàn)與安裝配置文件相關(guān)的錯誤的情況下,根據(jù)安裝信息修改安裝配置文件;并將修改后的安裝配置文件推送至客戶端服務(wù)器,以使客戶端服務(wù)器基于修改后的所述安裝配置文件繼續(xù)執(zhí)行安裝。通過上述技術(shù)手段,可在修改安裝配置文件后,不需重新啟動客戶端服務(wù)器及重新執(zhí)行開機自檢及下載相關(guān)安裝文件,而能使安裝過程繼續(xù)進行,提高了操作系統(tǒng)的安裝效率。
以下結(jié)合圖3,來說明Linux操作系統(tǒng)的安裝過程、以及在安裝過程中出現(xiàn)與安裝配置文件相關(guān)的錯誤的情況下,修改所述安裝配置文件,使系統(tǒng)安裝繼續(xù)進行的一些具體示例,其中以語法檢查錯誤、解析錯誤和執(zhí)行錯誤作為與配置安裝文件相關(guān)的錯誤的例子進行說明。本領(lǐng)域技術(shù)人員應(yīng)理解,具體的錯誤類型可視實際安裝過程中發(fā)生的錯誤而定,以下示例僅為了便于理解本發(fā)明,而非對本發(fā)明進行限制。
關(guān)于PXE技術(shù)、ks.cfg文件及客戶端服務(wù)器在PXE模式下進行Kickstart無人值守安裝步驟的描述可參見實施1,此處為簡明起見,不再贅述。
在一個示例中,獲取部件401和修改部件402的工作方式可參見圖3所示步驟301,其中管理服務(wù)器可利用獲取部件401通過網(wǎng)絡(luò)主動獲取客戶端服務(wù)器的安裝配置文件(例如ks.cfg文件)和安裝信息;客戶端服務(wù)器也可通過網(wǎng)絡(luò)主動將安裝配置文件(例如ks.cfg文件)和安裝信息發(fā)送至獲取部件401;還可在管理服務(wù)器與客戶端服務(wù)器之間設(shè)置代理Agent,管理服務(wù)器可利用獲取部件401通過Agent從客戶端服務(wù)器獲取安裝配置文件(例如ks.cfg文件)和安裝信息。安裝信息可包括報錯信息,報錯信息可反映在安裝過程中出現(xiàn)的與安裝配置文件相關(guān)的錯誤。此外,安裝信息還可以包括安裝進度信息等其他信息,安裝進度信息可反映系統(tǒng)安裝進展的階段或步驟。在一個示例中,與安裝配置文件相關(guān)的錯誤可包括:針對安裝配置文件的語法檢查錯誤、針對安裝配置文件的解析錯誤、和針對安裝配置文件的執(zhí)行錯誤中的一種或多種。
以ks.cfg文件作為安裝配置文件為例,在客戶端服務(wù)器安裝Linux操作系統(tǒng)的過程中,可通過Python解析ks.cfg文件,并可在解析過程中,通過異常處理語句(例如try語句)在緩存中捕獲異常,當捕獲到異常時,可彈出報錯并可生成相應(yīng)的有關(guān)ks.cfg解析的報錯信息。例如有關(guān)ks.cfg文件解析的報錯信息可記錄錯誤類型(例如KickstartParseError)、錯誤在腳本中位置(lineno)及消息(例如Illegal url(不合法的統(tǒng)一資源定位符))。基于相同原理,在對ks.cfg文件進行語法檢查的過程中或者在ks.cfg文件執(zhí)行過程中,如果捕獲到異常,也可彈出報錯并可生成相應(yīng)的報錯信息。
在一個示例中,參見圖3所示步驟301,可在管理服務(wù)器上查看所獲取的安裝信息,在安裝進度信息和/或報錯信息指示安裝過程中出現(xiàn)與安裝配置文件相關(guān)的錯誤的情況下,修改部件402可根據(jù)安裝信息(例如報錯信息)修 改所獲取的安裝配置文件。例如,在獲取到ks.cfg解析的報錯信息后,修改部件402可根據(jù)該報錯信息提供的內(nèi)容(例如錯誤類型、錯誤在腳本中位置及消息),修改管理服務(wù)器上獲取的ks.cfg文件。
在一個示例中,如圖5所示,該安裝裝置400還可包括指令提供部件404。參見圖3所示步驟302,推送部件403可將修改后的安裝配置文件(例如ks.cfg文件)推送至客戶端服務(wù)器,指令提供部件404可向客戶端服務(wù)器提供指令,以使客戶端服務(wù)器基于修改后的ks.cfg文件可重新執(zhí)行引導(dǎo)加載程序,從而可繼續(xù)執(zhí)行安裝??蛻舳朔?wù)器接收到上述指令后,可重新執(zhí)行引導(dǎo)加載程序(例如loader程序)(步驟303),上述部件可根據(jù)系統(tǒng)安裝過程中出現(xiàn)的實際問題多次運行,直至Linux操作系統(tǒng)安裝完成。上述示例,可在修改安裝配置文件(例如ks.cfg文件)后,不需重新啟動客戶端服務(wù)器及重新執(zhí)行開機自檢及下載相關(guān)安裝文件,而能使安裝過程繼續(xù)進行,提高了操作系統(tǒng)的安裝效率。
實施例3
圖6示出根據(jù)本發(fā)明另一實施例的Linux操作系統(tǒng)的安裝系統(tǒng)的結(jié)構(gòu)圖。該安裝系統(tǒng)600可應(yīng)用于集群式的Linux操作系統(tǒng)升級更新。如圖6所示,該安裝系統(tǒng)600主要包括:
管理服務(wù)器601,管理服務(wù)器601承載有實施例2中的Linux操作系統(tǒng)的安裝裝置400;
至少一臺客戶端服務(wù)器602,與管理服務(wù)器601連接;
服務(wù)端服務(wù)器603,與客戶端服務(wù)器601連接,用于為客戶端服務(wù)器601提供Linux操作系統(tǒng)映像文件。
實施例4
圖7示出了本發(fā)明的另一個實施例的一種Linux操作系統(tǒng)的安裝設(shè)備的結(jié)構(gòu)框圖。所述Linux操作系統(tǒng)的安裝設(shè)備1100可以是具備計算能力的主機 服務(wù)器、個人計算機PC、或者可攜帶的便攜式計算機或終端等。本發(fā)明具體實施例并不對計算節(jié)點的具體實現(xiàn)做限定。
所述Linux操作系統(tǒng)的安裝設(shè)備1100包括處理器(processor)1110、通信接口(Communications Interface)1120、存儲器(memory)1130和總線1140。其中,處理器1110、通信接口1120、以及存儲器1130通過總線1140完成相互間的通信。
通信接口1120用于與網(wǎng)絡(luò)設(shè)備通信,其中網(wǎng)絡(luò)設(shè)備包括例如虛擬機管理中心、共享存儲等。
處理器1110用于執(zhí)行程序。處理器1110可能是一個中央處理器CPU,或者是專用集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。
存儲器1130用于存放文件。存儲器1130可能包含高速RAM存儲器,也可能還包括非易失性存儲器(non-volatile memory),例如至少一個磁盤存儲器。存儲器1130也可以是存儲器陣列。存儲器1130還可能被分塊,并且所述塊可按一定的規(guī)則組合成虛擬卷。
在一種可能的實施方式中,上述程序可為包括計算機操作指令的程序代碼。該程序具體可用于實現(xiàn)實施例1中各步驟的操作。
本領(lǐng)域普通技術(shù)人員可以意識到,本文所描述的實施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結(jié)合來實現(xiàn)。這些功能究竟以硬件還是軟件形式來實現(xiàn),取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以針對特定的應(yīng)用選擇不同的方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
如果以計算機軟件的形式來實現(xiàn)所述功能并作為獨立的產(chǎn)品銷售或使用時,則在一定程度上可認為本發(fā)明的技術(shù)方案的全部或部分(例如對現(xiàn)有技術(shù)做出貢獻的部分)是以計算機軟件產(chǎn)品的形式體現(xiàn)的。該計算機軟件產(chǎn) 品通常存儲在計算機可讀取的非易失性存儲介質(zhì)中,包括若干指令用以使得計算機設(shè)備(可以是個人計算機、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各實施例方法的全部或部分步驟。而前述的存儲介質(zhì)包括U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)以所述權(quán)利要求的保護范圍為準。