ต้องการแจกจ่ายเครื่องเสมือน Linux ให้นักเรียนทำงาน


25

ฉันมีนักเรียนที่ใช้ Mac และ Windows ทุกภาคเรียนมักมีคำถามมากมายเกี่ยวกับวิธีการติดตั้งเครื่องมือ“ X” ฉันต้องการสร้างเครื่องเสมือน Linux เครื่องเดียว (ฉันลองใช้ VirtualBox แล้ว) และกระจายภาพ ด้วยวิธีนี้เครื่องมือทั้งหมดได้รับการติดตั้งไว้ล่วงหน้าและทุกคนใช้งาน Linux

คำถามคือเมื่อคนมีฮาร์ดแวร์กราฟิกที่แตกต่างกันมันทำงานอย่างไร หรือมันใช้งานได้? และถ้าเป็นเช่นนั้นฉันจะแจกจ่ายได้อย่างไร พวกเขาต้องติดตั้ง VirtualBox แล้วโหลดไฟล์บางอย่างที่ฉันให้หรือจะสร้างตัวติดตั้งตัวเดียวได้อย่างง่ายดาย?


13
Virtualbox ช่วยให้คุณสามารถส่งออกเครื่องใช้ไฟฟ้า ไฟล์นั้นสามารถนำเข้าในซอฟต์แวร์การจำลองเสมือนใด ๆ (VMWare, Virtualbox ฯลฯ ) และกำหนดค่าตัวเองไปยังฮาร์ดแวร์ภายในเครื่อง นี่ดูเหมือนจะเป็นสิ่งที่คุณต้องการ ไม่สามารถติดตั้งเดี่ยวได้เนื่องจากคุณไม่สามารถเรียกใช้โปรแกรมเดียวกันบน WIndows (.exe) และ Mac (.app)
GiantTree

ฉันต้องติดตั้งอีกครั้งแตกต่างกันหรือฉันสามารถบันทึกเครื่องเสมือนเป็นอุปกรณ์ได้หรือไม่?
Dov

คุณสามารถบันทึกเครื่องเสมือนใด ๆ เป็นอุปกรณ์ใน Virtualbox เพียงทำ: ไฟล์ -> ส่งออกอุปกรณ์ Ctrl + E
GiantTree

บางคนแนะนำให้ Vagrant เป็นวิธีแก้ปัญหาเนื่องจากขนาดไฟล์อาจเป็นปัญหาระหว่างการดาวน์โหลดไฟล์อุปกรณ์ของคุณ จะมีการบอกความจริงหากคุณติดตั้งสภาพแวดล้อมที่เรียบง่ายและใช้การจัดเตรียมแบบบางเมื่อสร้าง HD เสมือนคุณอาจท้ายด้วยไฟล์ 100MB หรือน้อยกว่าที่สามารถทำได้ แค่อยากจะเพิ่มเข้าไปในนั้นเพราะไม่มีใครพูดถึงมัน
Geruta

1
@ gronostaj: ฟังดูเหมือนว่า VM ที่น่าสงสารตัวนี้ถูกจับได้ในเมทริกซ์ : O
Zaibis

คำตอบ:


24

ฉันชอบคำตอบ Vagrant-Centric ของ Mperrinแต่อย่างที่คุณเห็นจากความคิดเห็นที่นั่นความคิดเห็นส่วนตัวของฉันคือ“ ทำให้มันง่าย” และฉันจะแนะนำการส่งออก VirtualBox OVA อย่างง่าย ๆ ตามที่คุณกำหนดค่าและส่งผ่านไปยังนักเรียนของคุณ .

ที่กล่าวว่าคุณถามสิ่งนี้:

คำถามคือเมื่อคนมีฮาร์ดแวร์กราฟิกที่แตกต่างกันมันทำงานอย่างไร หรือมันใช้งานได้? และถ้าเป็นเช่นนั้นฉันจะแจกจ่ายได้อย่างไร พวกเขาต้องติดตั้ง VirtualBox แล้วโหลดไฟล์บางอย่างที่ฉันให้หรือจะสร้างตัวติดตั้งตัวเดียวได้อย่างง่ายดาย?

มุ่งสู่ DevOps

ฉันไม่แน่ใจว่าสิ่งที่คุณกำลังสอนหรือทำหรือสิ่งที่คุณคาดหวังว่านักเรียนของคุณจะได้รับจากการออกกำลังกายทั้งหมดนี้ แต่ความกังวลมากมายที่คุณกำลังออกอากาศหันไปสู่อาณาจักรแห่งDevOps (การพัฒนาและการดำเนินงาน)และคุณอาจต้องการ เพื่อพิจารณาผสมผสานแนวคิดนั้นเข้ากับคำสอนของคุณ

ตอนนี้ฉันไม่คิดว่าแนวคิดทั้งหมดของ DevOps ต้องได้รับการถ่ายทอด แต่ในใจของคุณการสร้าง VirtualBox OVA ที่มีเสถียรภาพที่คุณส่งต่อให้นักเรียนและขอให้พวกเขาใช้กับเครื่องบ้าน / โรงเรียนของพวกเขาแน่นอนจะเปิดประตูให้ คำถามเกี่ยวกับวิธีจัดการกับการตั้งค่าฮาร์ดแวร์ / ระบบที่แตกต่างกันและวิธีการปรับเปลี่ยน

ดังนั้นคำแนะนำของฉันสำหรับคุณคือขอแนะนำให้นักเรียนใช้ VirtualBox OVA ที่คุณต้องการติดตั้ง แต่ยังเปิดให้นักเรียนสามารถติดตั้งเครื่องมือด้วยตนเองได้ ไส้ของฉันบอกฉัน 95% - หรือมากกว่า - ของนักเรียนจะใช้วิธี VirtualBox OVA อย่างมีความสุขและง่ายดาย แต่คุณไม่สามารถคาดหวังได้ว่ามันจะสมบูรณ์แบบ 100%

บางทีในที่สุดคุณก็ควรมีข้อกำหนดพื้นฐานสำหรับการใช้เครื่องมือของหลักสูตรและมีความยืดหยุ่นในการปรับใช้

มีความยืดหยุ่นเกี่ยวกับวิธีการใช้เครื่องมือ

ตัวอย่างเช่นฉันพัฒนา PHP จำนวนมากและทำการดูแลระบบ / DevOps ที่เกี่ยวข้องกับการพัฒนา PHP และตั้งแต่ฉันอยู่ใน Mac ฉันชอบที่จะใช้MAMPเพื่อการพัฒนาท้องถิ่น แต่ฉันทำงานกับนักพัฒนาที่ใช้ Linux หรือ Windows เพื่อการพัฒนาของพวกเขา Heck บางคนชอบใช้ Vagrant ควบคู่กับ VirtualBox สำหรับความต้องการในการพัฒนา LAMP และทัศนคติของฉันคือฉันไม่สนใจว่าการตั้งค่าระบบปฏิบัติการพื้นฐานของพวกเขาคืออะไร ตราบใดที่เวอร์ชัน PHP ของพวกเขาตรงกับเวอร์ชันที่ลูกค้าของฉันใช้ฉันก็ไม่เป็นไร

ในบางครั้งผู้พัฒนาจะระบุข้อผิดพลาดที่เกิดขึ้นเช่น - รหัสที่ฉันทดสอบบน MAMP นั้น“ ไม่เหมือนกัน” เหมือนกับสิ่งที่จะเกิดขึ้นในการติดตั้ง Linux LAMP และฉันพูดด้วยความมั่นใจ 100% ว่าฉันได้พิสูจน์เสมอว่าปัญหาไม่ใช่ระบบปฏิบัติการพื้นฐาน แต่เป็นการเขียนโค้ด PHP เอง

ดังนั้นสิ่งที่นักบวชคนนี้ต้องพูดถึงต่อไปนี้: เพียงแค่ยืดหยุ่นในคำอธิบายของคุณเกี่ยวกับการใช้การตั้งค่า VirtualBox ให้กับนักเรียน อาจทำให้ปัญหาของคุณ 95% ออกจากสวนสาธารณะ แต่ที่เหลืออีก 5% จะต้องได้รับการแก้ไขด้วยวิธีใดวิธีหนึ่ง ดังนั้นให้ดูที่การติดตั้ง VirtualBox และบางทีอาจเป็นสคริปต์ Vagrant ซึ่งเป็นเครื่องมือที่สามารถใช้ในคลังแสงเพื่อทำให้ชีวิตง่ายขึ้นสำหรับบางคน แต่ไม่จำเป็นต้องเป็นทางออกสุดท้ายสำหรับทุกปัญหา


3
การสอน C ++, java, โครงสร้างข้อมูลและนี่คือความพยายามที่จะหลีกเลี่ยง sysadmin / devops ซึ่งไม่สนใจฉัน!
Dov

1
@Dov ถ้าเป็นกรณีนี้การส่งออก VirtualBox OVA และแจกจ่ายให้กับคนในชั้นเรียนของคุณเป็นวิธีที่ดีที่สุด
JakeGould

18

คุณควรจะมีรูปลักษณ์ให้กับคนจรจัด

Vagrant รองรับ VirtualBox และช่วยให้คุณ:

สร้างและกำหนดค่าสภาพแวดล้อมการพัฒนาน้ำหนักเบาทำซ้ำและพกพาได้

มันจะง่ายกว่ามากในการแชร์ไฟล์ข้อความหนึ่งไฟล์หรือมากกว่าไฟล์ภาพขนาดใหญ่ของ VirtualBox โดยเฉพาะถ้าคุณต้องการจัดการอัปเดต

เมื่อ VirtualBox และ Vagrant ได้รับการติดตั้งอย่างง่าย:

vagrant up

จะ:

Vagrantfile เดียวยังสามารถจัดการโฮสต์ของ Windows หรือ Mac ได้โดยเฉพาะ


7
ในขณะที่ Vagrant ไม่ใช่ความคิดที่ดีเพียงส่งออกอุปกรณ์ VirtualBox สั่งให้นักเรียนติดตั้ง VirtualBox แล้วให้พวกเขานำเข้าอุปกรณ์ดังกล่าวไปยัง VirtualBox รับงานทำได้ในไม่กี่ขั้นตอนโดยไม่ต้อง Vagrant สร้างเครื่องขึ้นมาใหม่โดยอัตโนมัติ นิสัยแปลก ๆ โผล่เข้ามาผสม
JakeGould

1
คุณพูดถูกการส่งออกเป็นวิธีที่ตรงไปตรงมาและเรียบง่ายที่สุด แต่ขึ้นอยู่กับความต้องการฉันคิดว่าคนจรจัดต้องพูดถึงที่นี่ การจัดการการอัพโหลด / ดาวน์โหลดไฟล์ ova ขนาดใหญ่อาจเป็นปัญหาโดยเฉพาะอย่างยิ่งหากจำเป็นต้องทำการอัปเดตตามแต่ละโครงการ เปรียบเทียบเพิ่มเติมเกี่ยวกับทั้งสองวิธีสามารถพบได้ในนี้ด้ายดีมากsuperuser.com/questions/584100/...
mperrin

บันทึกที่ดีงามที่โพสต์อื่น ความรู้สึกของฉันคือ: ถ้าคุณรู้สึกว่าคุณต้องใช้ Vagrant สำหรับการปรับใช้เซิร์ฟเวอร์มากกว่า 2 เครื่องผ่านการเขียนสคริปต์ แต่สำหรับผู้ใช้เดสก์ท็อปส่วนใหญ่และนักพัฒนาที่เรียบง่ายเพียงแค่“ กลิ้งตัวเอง” ผ่าน VirtualBox ก็ใช้ได้
JakeGould

1
ในกรณีของคุณข้อดีอีกอย่างของคนพเนจรในการส่งออกคือความสามารถในการเรียนรู้ของ "วิธีการ" ติดตั้งและกำหนดค่าภาพโดยการตรวจสอบสคริปต์การจัดเตรียม ง่ายกว่าการดูประวัติของภาพ
mperrin

8

มันไม่สำคัญเลย - virtualbox (และซอฟต์แวร์ virtualisation อื่น ๆ ทั้งหมด ) เลียนแบบอะแดปเตอร์วิดีโอของตัวเอง (IIRC cirrus logic) ในขณะที่ไฟล์ virtualbox ดั้งเดิมแบ่งเป็นไฟล์ต่าง ๆ สำหรับการตั้งค่าและที่เก็บคุณสามารถส่งออกเป็นไฟล์ ovf ตามที่แนะนำ หากนักเรียนของคุณสามารถติดตั้ง virtualbox หรือ vmware มันควรจะเป็นเรื่องเล็กน้อย ถ้าไม่พวกเขาต้องเรียนรู้

การติดตั้ง Virtualbox ค่อนข้างเล็กน้อย (สมมติว่าคุณมีการสนับสนุนฮาร์ดแวร์)

มีบางสิ่งที่ฉันแนะนำ - รักษา VM ไว้ที่ 32 บิต (ดังนั้นคุณไม่จำเป็นต้องกังวลเกี่ยวกับการสนับสนุน VT-X บนโฮสต์) สร้างวิธีการสำหรับการติดตั้ง Virtualbox บน OS 2 ขนาดใหญ่ (Windows เป็นแบบตรงไปตรงมา linux ต้องการขั้นตอนเพิ่มเติมเล็กน้อย) และนำเข้าไฟล์ OVF นี่หมายความว่าหากนักเรียนต้องการใช้เครื่องเล่น vmware หรือสิ่งที่พวกเขาสามารถทำได้ ใช้ NAT สำหรับเครือข่ายเว้นแต่คุณจะต้องเรียกใช้เซิร์ฟเวอร์ที่สามารถเข้าถึงได้จากภายนอก

หากประสิทธิภาพไม่ใช่ปัญหาคุณอาจรวมทุกอย่างไว้ในอินสแตนซ์ QEMU (พวกเขาสามารถตั้งค่าให้ทำงานด้วยตนเอง) และสคริปต์เริ่มทำงานที่เหมาะสม ฉันต้องการพิจารณานี้สุดท้ายรีสอร์ท

ฉันทราบว่ามหาวิทยาลัยหลายแห่งมีการจัดหา VM ด้วยเครื่องมือที่เหมาะสม ( IIRC stanfords CS 50 does นี้และเป็นหลักสูตรที่เปิดสอนได้อย่างอิสระจาก edx) ดังนั้นจึงอาจคุ้มค่าที่จะดูว่าพวกเขาทำมันอย่างไร


3

ทางเลือกแทนเทคโนโลยี virtualization ส่วนใหญ่สามารถติดตั้งลีนุกซ์ (เช่น Ubuntu) บน thumbdrive คอมพิวเตอร์แทบทุกเครื่องจะบูตด้วย thumbdrive และผู้ติดตั้งที่ทันสมัยส่วนใหญ่จะตรวจจับการ์ดกราฟิก / การ์ดเครือข่ายในเวลาบูต หากคุณติดตั้ง Ubuntu แบบ 32 บิตมันจะทำงานบนฮาร์ดแวร์เกือบทั้งหมดที่ผู้คนมักจะมีที่บ้าน

มันง่ายที่จะแจกและไม่ต้องการซอฟต์แวร์ที่ติดตั้งเพิ่มเติมใด ๆ พวกเขายังสามารถเคลื่อนย้ายจากเครื่องไปยังเครื่องได้อย่างง่ายดาย - ถอดปลั๊กจากคอมพิวเตอร์โรงเรียนใส่ไว้ในกระเป๋าของคุณ เมื่อคุณกลับถึงบ้านเพียงเสียบเข้า

พวกเขาสามารถมีราคาค่อนข้างถูก (ฉันตระหนักว่างบประมาณโรงเรียนมี จำกัด !); ขึ้นอยู่กับว่าแอพพลิเคชั่นตัวไหนที่จะทำงานบนเครื่อง 4gb น่าจะเพียงพอ


ทุกคนในโรงเรียนจบมีแล็ปท็อป ฉันไม่คิดว่าจะต้องมี usb
Dov

1

ตัวเลือกอื่นที่ควรพิจารณา หากคุณไม่ได้กังวลเกี่ยวกับพวกเขาจริงๆมี GUI คุณสามารถใช้สิ่งที่ต้องการterminal.com

คุณสามารถสร้างสแนปชอตสาธารณะของคุณเองและเพียงเก็บไว้สำหรับนักเรียนของคุณ มันคล้ายกับวิธี VirtualBox แต่แทนที่จะติดตั้ง VM บนเครื่องของตัวเองมันอยู่บนเครื่องคลาวด์ของคนอื่น

สิ่งที่พวกเขาต้องการคือเว็บเบราว์เซอร์ที่ทันสมัยเพียงพอ และหากพวกเขาสนใจพวกเขาสามารถตั้งค่าเพื่อให้พวกเขาสามารถใช้ SSH / Putty / etc

จากตัวเลขของพวกเขาหากนักเรียนใช้อินสแตนซ์ขนาดเล็ก (RAM ขนาด 256 MB ซึ่งเป็นพื้นที่ดิสก์สอง GB) หากพวกเขาหยุด VM ชั่วคราวเมื่อพวกเขาไม่ได้ใช้มันจะเสียค่าใช้จ่าย $ 9 / ปีสำหรับ 8h / วัน. ฉันไม่สามารถพูดถึง terminal.com ได้ แต่ฉันสงสัยว่าถ้าคุณติดต่อพวกเขาพวกเขาอาจจะให้ส่วนลดทางการศึกษาบางประเภทแก่คุณ


บริการที่คล้ายกันคือการเข้าถึงเชลล์สาธารณะฟรีสำหรับ [นักการศึกษา SDF.org] (sdf.org/?join) สอนคำถามที่พบบ่อย ไม่ใช่ VM แต่ก็ยังดีอยู่
HSchmale
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.