李俊麗,王 曉,馬俊宏
(晉中學(xué)院信息技術(shù)與工程系,山西 晉中 030619)
Linux 源于UNIX,從一開始就繼承了UNIX 的先進性,是一個真正的多任務(wù)、多用戶、具有復(fù)雜內(nèi)核的操作系統(tǒng)。由于Linux 操作系統(tǒng)是以大數(shù)據(jù)、云計算為代表的眾多新技術(shù)的主要支持平臺,學(xué)生只有熟悉Linux 系統(tǒng)及其編程,才能逐步實現(xiàn)在該平臺上完成大數(shù)據(jù)、云計算以及人工智能等新興技術(shù)的部署和開發(fā)[1,2]。在大數(shù)據(jù)時代,Linux 適用的領(lǐng)域更加廣闊,促使教學(xué)上需要對課程內(nèi)容及時地進行調(diào)整和增補,使得面向大數(shù)據(jù)技術(shù)的Linux 課程教學(xué)更注重應(yīng)用性,避免出現(xiàn)教學(xué)與實際應(yīng)用脫節(jié)的問題。
“Linux 操作系統(tǒng)”這門課程既是對專業(yè)基礎(chǔ)課“操作系統(tǒng)”的鞏固和深化,也是后面學(xué)習(xí)云計算與大數(shù)據(jù)技術(shù)、網(wǎng)絡(luò)編程和機器學(xué)習(xí)等課程的基礎(chǔ)。Linux課程傳統(tǒng)教學(xué)內(nèi)容主要是Linux 常用命令和Shell 編程,其教學(xué)目標是讓學(xué)生掌握以下幾點內(nèi)容:①能夠?qū)inux 操作系統(tǒng)有個整體認識,掌握VM 虛擬機的使用和Linux操作系統(tǒng)安裝方法,熟練使用Linux常用命令進行文件管理、目錄管理、進程管理和其他管理;②能夠熟練掌握vi編輯器,編寫Shell腳本,為Linux操作系統(tǒng)編程打下基礎(chǔ);③能夠在Linux 操作系統(tǒng)中對用戶賬戶和組群進行管理,能夠?qū)崿F(xiàn)Linux 網(wǎng)絡(luò)配置基礎(chǔ)和其他網(wǎng)絡(luò)服務(wù)器的管理和配置。
面對大數(shù)據(jù)技術(shù)的發(fā)展,文獻[3-5]中均描述了面向大數(shù)據(jù)技術(shù)的Linux 課程教學(xué)內(nèi)容改革,由于Linux操作系統(tǒng)是以大數(shù)據(jù)、云計算為代表的眾多新技術(shù)的主要支持平臺,學(xué)生只有在熟悉Linux 系統(tǒng)及編程的前提下,才能逐步實現(xiàn)在該平臺上完成大數(shù)據(jù)、云計算以及人工智能等新興技術(shù)的部署和開發(fā)。因此,它是學(xué)習(xí)眾多新技術(shù)的基礎(chǔ)。在面向大數(shù)據(jù)技術(shù)的Linux 課程的實踐環(huán)節(jié)中,學(xué)生需要靈活運用Linux 常用命令、shell 編程等基礎(chǔ)知識對大數(shù)據(jù)開發(fā)平臺進行操作,有一定的綜合性。同時,由于面向大數(shù)據(jù)技術(shù)的Linux課程的教材較少,不同的Linux課程教材中實踐教學(xué)內(nèi)容有一定差異。因此,筆者對Linux 課程中涉及的實踐教學(xué)內(nèi)容進行了一些整理,選取了Linux課程核心的實踐教學(xué)內(nèi)容,作為Linux 操作系統(tǒng)課程的基本實踐教學(xué)內(nèi)容,包括安裝與基本配置Linux 操作系統(tǒng)、熟練使用Linux 常用命令、管理Linux 用戶和組、網(wǎng)絡(luò)及服務(wù)配置等幾個部分;對于包含大數(shù)據(jù)技術(shù)的課程內(nèi)容進行評估[6-7],分析大數(shù)據(jù)的應(yīng)用需求,明確其作為實踐教學(xué)內(nèi)容的價值,其主要包括大數(shù)據(jù)系統(tǒng)框架Hadoop、分布式文件系統(tǒng)HDFS、Spark 集群與應(yīng)用等幾個部分,面向大數(shù)據(jù)技術(shù)的Linux 操作系統(tǒng)實踐教學(xué)內(nèi)容結(jié)構(gòu)如圖1所示。

圖1 Linux操作系統(tǒng)實踐教學(xué)模塊
Linux 是由多個相互關(guān)聯(lián)又相對獨立的功能模塊構(gòu)成的,課程實踐性強,非常適合采取項目化實踐教學(xué)方式。本設(shè)計以實踐項目為主旨,注重實踐技能的培養(yǎng),讓學(xué)生在“用中學(xué),學(xué)中用”的過程中掌握最基礎(chǔ)的Linux知識應(yīng)用,逐漸深入Linux系統(tǒng)的管理和服務(wù)器的搭建和維護,以及面向大數(shù)據(jù)技術(shù)的Hadoop和Spark 開發(fā)平臺的搭建。通過實踐項目,讓學(xué)生全面、深入、透徹地理解Linux操作系統(tǒng)的基礎(chǔ)知識,并從基礎(chǔ)知識出發(fā),提高不同軟件之間的整合力度及實踐應(yīng)用的能力。針對Linux 操作系統(tǒng)實踐教學(xué)模塊共設(shè)計了八個實踐項目,其中包括基礎(chǔ)知識的五個實踐項目和大數(shù)據(jù)應(yīng)用模塊的三個實踐項目,具體內(nèi)容見表1。

表1 Linux操作系統(tǒng)實踐項目
表1 中的實驗涵蓋了Linux 操作系統(tǒng)的主要實踐教學(xué)內(nèi)容,Shell 編程是Linux 操作系統(tǒng)實踐教學(xué)的主要內(nèi)容,也是學(xué)生學(xué)習(xí)的難點,這個部分可以結(jié)合課前視頻教學(xué)預(yù)習(xí)、課堂教師實際操作、課后線上平臺練習(xí)等多種實踐教學(xué)方式,使學(xué)生更深入地理解Shell script,并消化實踐項目中涉及的相關(guān)知識。大數(shù)據(jù)應(yīng)用模塊中包含Hadoop 集群基本操作、Shell 方式操作HDFS 分布式文件系統(tǒng)、Spark 基礎(chǔ)與操作入門等比較新的內(nèi)容,在實際的項目實踐過程中可以根據(jù)教學(xué)目標、學(xué)時安排、學(xué)生反饋以及實驗條件等因素進行適當(dāng)調(diào)整。可以將部分實驗內(nèi)容采用課后作業(yè)的形式提交。
根據(jù)各實踐項目的內(nèi)容特點、教學(xué)目標,我們的實踐教學(xué)平臺具體采用在本地Windows 操作系統(tǒng)下,使用VMware Workstation 虛擬化軟件搭建虛擬機的方式進行項目實踐[8]。為了學(xué)生更好地實踐不同Linux項目,設(shè)計并提供3種虛擬機供學(xué)生使用,如圖2所示。

圖2 虛擬機環(huán)境下Linux操作系統(tǒng)教學(xué)實踐平臺
⑴ Red Hat Enterprise Linux 虛擬機:僅安裝Linux,即一臺Linux 機器,供學(xué)生完成Linux 平臺下的各種基礎(chǔ)知識的實踐項目,主要包括Linux 基本操作與應(yīng)用。
⑵Hadoop(偽分布)-Ubuntu 虛擬機:為學(xué)生準備了一個Hadoop 偽分布式環(huán)境,即一臺安裝了Hadoop系統(tǒng)的Linux 機器,供學(xué)生理解Hadoop 概念,完成Hadoop Shell 基本操作和掌握HDFS Shell 主要操作命令,包括文件上傳、下載、復(fù)制等操作。
⑶Spark 完全分布式集群環(huán)境:為學(xué)生準備了一個Spark 完全分布式環(huán)境,三個Linux 虛擬機構(gòu)成三節(jié)點Spark 集群環(huán)境,其中SparkMaster-Ubuntu 虛擬機為主節(jié)點,SparkWorker01-Ubuntu 虛擬機和Spark-Worker02-Ubuntu 虛擬機為從節(jié)點。該集群環(huán)境可以幫助學(xué)生理解 Spark 與Hadoop 的關(guān)系,了解Spark Shell基本操作。由于該環(huán)境比較復(fù)雜,而虛擬機就是Windows 下的文件,學(xué)生可以將老師搭建好的環(huán)境復(fù)制到自己的筆記本電腦上運行。
在大數(shù)據(jù)和云計算時代,大數(shù)據(jù)技術(shù)不僅局限于學(xué)術(shù)研究領(lǐng)域,而且已經(jīng)滲透到各行各業(yè)。在大數(shù)據(jù)時代,Linux 操作系統(tǒng)的應(yīng)用范圍更加廣泛,更多的大規(guī)模數(shù)據(jù)處理基礎(chǔ)設(shè)施,如Hadoop、Spark 等,部署并應(yīng)用于基于Linux 的服務(wù)器集群,Linux 系統(tǒng)正變得越來越重要。因此,針對大數(shù)據(jù)技術(shù)的需求,有必要從傳統(tǒng)教學(xué)中存在的弊端入手,進行相應(yīng)的內(nèi)容調(diào)整。將大數(shù)據(jù)技術(shù)融入到課程實踐項目任務(wù)中,并在配套實驗環(huán)境的建設(shè)方面做出對策,使學(xué)生掌握Linux 系統(tǒng)與大數(shù)據(jù)相關(guān)的知識,提高學(xué)生的實踐能力,為進一步學(xué)習(xí)大數(shù)據(jù)相關(guān)技術(shù)奠定堅實的基礎(chǔ)。教學(xué)實踐中,在對信息技術(shù)與工程系網(wǎng)絡(luò)工程專業(yè)開設(shè)的Linux 操作系統(tǒng)課程中使用了上述方法。實踐結(jié)果表明,內(nèi)容有吸引力且學(xué)生上手較快,學(xué)生學(xué)習(xí)積極性和主動性明顯提高。