在局域網(wǎng)環(huán)境,如果需要批量安裝系統(tǒng)的話,采取手工逐臺安裝方式顯然是不適合的。SCCM 2012是管理員維護網(wǎng)絡運行的常用工具,利用其提供的批量部署功能,可以靈活高效地完成系統(tǒng)的分發(fā)工作。同普通的安裝方式相比,SCCM 2012提供的部署功能具有批量、高速、定制化安裝等特點,大大提高了安裝的效率,對于局域網(wǎng)的高效運維極為有利。
SCCM 2012安裝在中心站點服務器上,在SCCM 2012管理控制臺左下角點擊“管理”項,在左側(cè)點擊“分發(fā)點”項,在右側(cè)列表中選擇合適的分發(fā)服務器(本例為簡單起見,將主站點服務器作為分發(fā)點服務器),點擊工具欄上的“屬性”按鈕,在打開窗口中的“PXE”面板中選擇“為客戶端啟用PXE支持”項,會彈出提示信息,提醒用戶需要在防火墻上開啟UDP 67/68/69/4011端口。當選擇了該項后,實際上在該分發(fā)服務器已經(jīng)開始自動安裝WDS角色了。選擇“允許此分發(fā)點響應傳入的PXE請求”和“啟用未知計算機支持”項,使其更好地支持客戶端的PXE連接請求。
為了提高安全性,可以選擇“當計算機使用PXE時要求密碼”項,輸入所需的密碼。在默認情況下,本機可以響應所有網(wǎng)絡接口上的PXE請求。在實際的生產(chǎn)環(huán)境中,需要為本機配置多塊網(wǎng)卡,分別用來處理管理流量和PXE分發(fā)流量。為此,可以選擇“響應特定網(wǎng)絡接口上的PXE請求”項,選擇與之關聯(lián)的網(wǎng)絡接口。在“多播”面板中選擇“啟用多播以將數(shù)據(jù)同時發(fā)送到多個客戶端”項,允許分發(fā)點服務器同時將系統(tǒng)安裝映像包同時推送到多臺客戶機上。選擇“啟用計劃的多播”項,在“最小會話大?。蛻舳耍睓谥懈耐瑫r推送的客戶端數(shù)量(默認為20個客戶端)。
圖1 創(chuàng)建任務序列向?qū)?/p>
這樣,只要客戶端的數(shù)量達到該數(shù)量后,分發(fā)點服務器才會允許其下載系統(tǒng)安裝映像包。點擊確定按鈕,保存配置信息。為了讓部署操作順利進行,需要配置合適的網(wǎng)絡訪問權限。在左側(cè)選擇“站點配置→站點”項,在右側(cè)選擇上述分發(fā)服務器,點擊工具欄上的按鈕“設置→軟件分發(fā)”項,在打開窗口中的“網(wǎng)絡訪問賬戶”面板中選擇“指定訪問網(wǎng)絡位置的賬戶”項,點擊“設置”按鈕,導入合適的域賬戶。這樣,不受信任的計算機就可以順利地進行遠程安裝系統(tǒng)操作。
在SCCM 2012控制臺左下角點擊“軟件庫”,在左側(cè)選擇“操作系統(tǒng)→操作系統(tǒng)映像包”項,點擊工具欄上的“添加操作系統(tǒng)映像包”按鈕,在向?qū)Ы缑嬷悬c擊瀏覽按鈕,選擇操作系統(tǒng)映像(例如Windows 7安裝盤中的“install.wim”文件,為了便于使用,可以將該文件保存到某共享目錄中)。點擊下一步按鈕,輸入該映像的名稱(默認為“Windows 7 STARTER”),版本和備注信息。點擊下一步按鈕,完成導入操作。
注意,如果啟用了多播功能,需要選擇該映像的名稱,點擊工具欄上的“屬性”按鈕,在屬性窗口中的“分發(fā)設置”面板中選擇“允許通過多播傳輸此包(僅WinPE)”和“僅通過多播傳輸此包”項。點擊應用按鈕,保存配置信息。
在左側(cè)選擇“操作系統(tǒng)→任務序列”項,點擊工具欄上的“創(chuàng)建任務序列”按鈕,在向?qū)Ы缑妫ㄈ鐖D1)中選擇“安裝現(xiàn)有的映像包”項,在下一步窗口中設置序列名稱(例如“Win7xl”)和描述信息,點擊瀏覽按鈕,根據(jù)需要選擇32位或64位的“Boot image”啟動文件,在SCCM 2012中已經(jīng)內(nèi)置了上述啟動映像包。點擊下一步按鈕,在安裝Windows操作系統(tǒng)窗口中點擊瀏覽按鈕,選擇上述添加的Windows 7的安裝映像包。
注意,在該映像包中包括不同版本的系統(tǒng)安裝包,在“映像”列表中顯示所有版本的安裝包,可以根據(jù)需要進行選擇,例如選擇“5-Windows 7 ULTIMATE”版本。
默認情況下,在安裝時自動對目標計算機的磁盤進行分區(qū)和格式化。輸入產(chǎn)品密鑰,設置服務器授權模式,如果不想禁用本地管理員賬戶,可以選擇“始終使用同一管理員密碼”項,來統(tǒng)一設置本地管理員的密碼。在下一步窗口中可以根據(jù)需要,選擇加入的工作組還是域環(huán)境。如果加入域的話,需要點擊設置按鈕,指定有權限加入域的賬戶。點擊下一步按鈕,點擊瀏覽按鈕,選擇Configuration Manager客戶端包。這樣,當部署操作系統(tǒng)完畢后,可以在目標計算機上安裝SCCM 2012的客戶端程序。在下一步的配置狀態(tài)遷移窗口中取消所有的選擇項目,其余的設置保持默認,點擊完成按鈕,創(chuàng)建該任務序列。
圖2 部署任務序列向?qū)?/p>
圖3 分發(fā)內(nèi)容向?qū)Ы缑?/p>
選擇該任務序列,點擊工具欄上的“編輯”按鈕,在打開窗口中可以對WinPE啟動、磁盤分區(qū)、網(wǎng)絡設置、驅(qū)動程序等對象進行深入的調(diào)整。例如選擇“對磁盤分區(qū)0”項,在右側(cè)顯示在默認情況下,對整個磁盤分為一個分區(qū)。可以將其刪除,點擊添加按鈕,輸入新的分區(qū)名稱,設置分區(qū)類型,使用的大小,是否為啟動分區(qū)等。這樣,可以根據(jù)需要合理地對磁盤進行分區(qū),得到多個磁盤分區(qū)。
選擇該任務序列,點擊工具欄上的“部署”按鈕,在向?qū)Ы缑妫ㄈ鐖D2)中的“集合”欄中點擊瀏覽按鈕,在選擇集合窗口中選擇特定的集合,以及對應集合中成員數(shù)量。所謂集合指的是規(guī)劃好的某些計算機,例如所有臺式機和服務器客戶端、所有移動設備、所有系統(tǒng)、所有未知計算機等??梢愿鶕?jù)需要選擇所需的集合,例如選擇“所有位置計算機”項,這樣當新的計算機加入后,就可以自動安裝操作系統(tǒng)。點擊下一步按鈕,選擇“可供啟動媒體和PXE使用”項,在“目的”列表中選擇“可用”項,表示當存在多個任務序列的話,可以靈活選擇。如果希望在特定的時段內(nèi),才執(zhí)行系統(tǒng)的部署操作,可以在下一步窗口中設置該部署計劃的可用和過期時間范圍。其余的設置均保持默認,完成部署的配置操作。
在SCCM 2012控制臺左側(cè)選擇“操作系統(tǒng)→啟動映像包”項,選擇所需的“Boot image”啟動文件,點擊工具欄上的“屬性”按鈕,在打開窗口中的“數(shù)據(jù)源”面板中選擇“從PXE服務點部署此啟動映像”項,可以自動創(chuàng)建執(zhí)行PXE啟動所需的文件。之后選擇上述“Boot image”啟動文件,點擊工具欄上的“分發(fā)內(nèi)容”按鈕,在向?qū)Ы缑嬷悬c擊下一步按鈕,在指定內(nèi)容目標窗口中點擊按鈕“添加→分發(fā)點”項,選擇上述使用的分發(fā)點服務器,點擊下一步按鈕,完成分發(fā)操作。
這樣,就將所需的“Boot image”啟動文件分發(fā)到了指定位置。同樣的,在左側(cè)選擇“操作系統(tǒng)→任務序列”項,選擇上述任務序列項,點擊工具欄上的“分發(fā)內(nèi)容”按鈕,在向?qū)Ы缑嬷酗@示分發(fā)的內(nèi)容(如圖3),包括SCCM 2012客戶端程序,“Boot image”啟動映像包,操作系統(tǒng)映像包等,點擊下一步按鈕,按照同樣的方法,將其分發(fā)到指定的位置。
圖4 設置DHCP選項窗口
當分發(fā)完成后,在DC域控上對DHCP進行必要的配置。在服務器管理器中安裝DHCP角色,在DHCP配置界面中設置其名稱,IP范圍(例 如 192.168.1.100到192.168.1.200等)等參數(shù)。在DHCP控制臺左側(cè)選擇“作用域→作用域選項”項,默認只存在006 DNS和015 DNS項目。在其右鍵菜單上點擊“配置選項”項,在打開窗口(如圖4)中選擇“066 啟動服務器主機名”項,輸入上述分發(fā)點服務器的IP。選擇“067 啟動文件名”項,在“字符串值”欄中輸入“wdsnbp.com”文件的存儲路徑(例如“SMSBootx86wdsnbp.com”)。
注意,該文件分為32位和64位兩個版本,該文件應在上述啟動服務器上,將兩者結(jié)合起來可以確定其位置,點擊確定按鈕保存配置信息。為了允許客戶端在遠程安裝系統(tǒng)時,可以自定義計算機的名稱,可以在SCCM 2012控制臺左側(cè)選擇“資產(chǎn)和符合性→設備集合”項,在右側(cè)選擇“所有未知計算機”項,點擊工具欄上的“屬性”按鈕,在打開窗口中的“集合變量”面板中點擊添加按鈕,在新變量窗口中輸入變量的名稱“OSDComputername”,點擊確定按鈕保存配置。
配置好SCCM 2012和DHCP服務器后,當啟動客戶端連入網(wǎng)絡后,開機進入主板BIOS設置界面,在啟動順序面板中將“Network boot From 網(wǎng)卡名”之類的項設置為首個引導設備,保存信息后重啟系統(tǒng),內(nèi)置的PXE網(wǎng)卡會向DC上的DHCP服務發(fā)送廣播包,來申請所需的IP,當獲得IP后,會按照預設的DHCP選項參數(shù),從指定的啟動服務器上獲取啟動文件,當啟動完成后,就會通過TFTP協(xié)議將相關的WinPE文件從分發(fā)點服務器下載到本地內(nèi)存中。
之后加載WinPE環(huán)境,接著會運行SCCM安裝向?qū)?,并顯示所有可用的任務序列,選擇所需的任務序列(例如“Win7xl”),就可以按照該任務序列的區(qū)域設置,確定鍵盤和輸入方法后開始安裝系統(tǒng),具體操作和常規(guī)安裝完全一致。
如果啟用了多播功能,那么客戶端的計算機數(shù)量必須達到預設值,否則將無法進行遠程部署。因為設置了上述集合的變量,所以在遠程啟動時可以雙擊該變量名,修改客戶端計算機的名稱。由用戶在本地所打開的終端稱為虛擬終端tty,由用戶在遠程打開的終端稱為偽終端pts。由于絕大多數(shù)情況下我們都是遠程對Linux服務器進行管理,因而用戶所使用的終端主要是偽終端pts。每個終端都有相應的編號,執(zhí)行tty命令就可以查看到用戶當前所在的終端編號。
Linux系統(tǒng)中的進程與啟動進程的終端之間是緊密關聯(lián)的,比如我們直接執(zhí)行不帶任何選項的ps命令,將只顯示當前用戶在當前終端所啟動的進程。
可以看到,當前用戶只啟動了2個進程,分別是“bash”和“ps”。其中“ps”就是剛才執(zhí)行的ps命令所產(chǎn)生的進程,而“bash”則是當前終端所對應的終端進程,它也是ps進程的父進程。
如果希望查看系統(tǒng)中所有的進程,就需要為ps命令加上相應的選項,比如常用的選項組合“aux”,其中的選項“a”就表示顯示與當前終端有關的所有進程,選項“x”表示顯示與當前終端無關的所有進程,因而兩個選項結(jié)合起來就表示顯示系統(tǒng)中的所有進程了。
比如分屏查看當前系統(tǒng)中所有進程的詳細信息。
在詳細的進程信息中可以看到,很多進程的TTY字段顯示為“?”,這表示該進程不是由用戶在某個終端啟動的,而是由系統(tǒng)內(nèi)核所啟動。
對于那些由用戶執(zhí)行命令所啟動的進程都是與終端相關的,當把終端關閉,該終端中的所有進程也都會自動關閉。這是Linux系統(tǒng)一個非常重要的特點,下面的兩個實例都是對這個特點的具體應用。
進程就是運行中的程序,我們只要在Shell命令行下輸入并執(zhí)行某條命令,就會啟動一個相應的進程。Linux系統(tǒng)中的進程有前臺進程和后臺進程之分,通常情況下我們執(zhí)行命令所產(chǎn)生的進程都是前臺進程,前臺進程的一個重要特點是會占據(jù)當前終端,當進程沒有結(jié)束的時候,用戶不能在當前終端中再進行其他的操作。
比如我們執(zhí)行“nc -l-p 8000”命令偵聽TCP8000端口(CentOS7中默認沒有安裝nc,如果已經(jīng)配置好yum源,可以執(zhí)行“yum install nc”命令安裝),這條命令執(zhí)行之后,將會一直處于運行狀態(tài),如果用戶不按Ctrl+C鍵強制終止,該進程將一直占據(jù)當前終端。
如果在要執(zhí)行的命令后面加上一個“&”符號,此時進程將轉(zhuǎn)到后臺運行,其執(zhí)行結(jié)果不在屏幕上顯示,該進程也不會占據(jù)當前終端,用戶仍可以繼續(xù)執(zhí)行其他的操作。
比如,在后臺執(zhí)行nc命令偵聽TCP8000端口。
當然,也可以直接執(zhí)行命令啟動一個前臺進程,然后再通過按下Ctrl+Z組合鍵,將該進程轉(zhuǎn)入到后臺。只不過通過這種方式轉(zhuǎn)入到后臺的進程將處于停止狀態(tài),需要再通過執(zhí)行bg命令使其在后臺繼續(xù)執(zhí)行。
無論是通過在命令后面加“&”符號在后臺執(zhí)行的進程,還是通過Ctrl+Z組合鍵而轉(zhuǎn)往后臺的進程,它們都與當前終端相關。如果將當前終端關閉,那么這些在后臺運行的進程也將全部關閉。這樣如果我們希望能夠通過nc命令在系統(tǒng)中始終監(jiān)聽TCP8000端口,這就很難實現(xiàn)了。
因而,如果希望某些進程能夠始終在后臺運行,那么可以通過nohup命令解除與當前終端之間的關系。比如,我們希望無論當前終端是否關閉,始終都在后臺執(zhí)行nc命令監(jiān)聽本機的TCP6000端口,那么可以執(zhí)行下面的命令:
命令執(zhí)行之后,將當前終端關閉,然后再次打開一個新的終端,執(zhí)行“ps aux| grep nc”命令查找nc命令所產(chǎn)生的進程,可以看到由“nc -l -p 6000”命令產(chǎn)生的進程所對應的終端已經(jīng)變?yōu)榱恕?”,即由系統(tǒng)內(nèi)核啟動,而不再與任何終端關聯(lián)。
這樣,這條命令所產(chǎn)生的進程就成為了系統(tǒng)的后臺進程,如果管理員不用kill命令強制終止,這個進程將一直運行下去。
下面再通過一個實例進一步說明進程和終端之間的關系。
由于Linux是一個多用戶的操作系統(tǒng),作為管理員就需要隨時了解當前正在有哪些用戶在登錄系統(tǒng)。通過執(zhí)行who命令可以查看當前正在登錄系統(tǒng)的用戶以及其相關信息。