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

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

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

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