สังเกตเห็นสิ่งที่เรียกว่าระบบย่อยสำหรับแอพพลิเคชั่นที่ใช้ระบบปฏิบัติการ UNIXในการเปิดและปิดคุณสมบัติการสนทนาภายใต้ Windows 7 ไม่เคยเห็นมาก่อนและดูเหมือนว่าน่าสนใจ มันคืออะไรกันแน่? มีไว้เพื่ออะไรและฉันจะใช้เพื่ออะไร
สังเกตเห็นสิ่งที่เรียกว่าระบบย่อยสำหรับแอพพลิเคชั่นที่ใช้ระบบปฏิบัติการ UNIXในการเปิดและปิดคุณสมบัติการสนทนาภายใต้ Windows 7 ไม่เคยเห็นมาก่อนและดูเหมือนว่าน่าสนใจ มันคืออะไรกันแน่? มีไว้เพื่ออะไรและฉันจะใช้เพื่ออะไร
คำตอบ:
ที่รู้จักกันก่อนหน้านี้เป็นไอ้เวรหรือบริการสำหรับ UNIX มันเป็นระบบย่อยของสภาพแวดล้อมใน Windows ซึ่งให้การปฏิบัติตาม POSIX เต็มรูปแบบและมีเครื่องมือมากมายที่มักจะมาพร้อมกับระบบ UNIX
ในฐานะที่เป็นระบบย่อยของสภาพแวดล้อมสิ่งนี้หมายความว่ามันทำงานควบคู่ไปกับ Windows API โดยตรงที่ด้านบนของเคอร์เนล ดังนั้นจึงไม่มีการเลียนแบบมากกว่า Windows API ดั้งเดิมดังนั้นจึงทำงานได้ดีกว่า cygwin เป็นอย่างมาก 1
ส่วนใหญ่มีไว้สำหรับการสร้างและเรียกใช้แอปพลิเคชั่น UNIX บน Windows โดยตรงดังนั้นหากโปรแกรม UNIX ที่คุณโปรดปรานไม่มีพอร์ต Windows คุณสามารถลองสร้างมันใน SUA:
บริการ Windows สำหรับ Unix และระบบย่อยสำหรับแอพพลิเคชั่นที่ใช้ Unix จัดเตรียมไฟล์ส่วนหัวและไลบรารีที่ทำให้ง่ายต่อการคอมไพล์ใหม่หรือพอร์ตแอปพลิเคชั่น Unix สำหรับการใช้งานบน Windows พวกเขาไม่ได้ทำให้ Unix ไบนารีเข้ากันได้กับไบนารี Windows มันเป็นความคิดที่ดีที่สุดในฐานะแพลตฟอร์ม Unix ที่แตกต่าง
SFU เวอร์ชั่นปัจจุบันประกอบด้วย:
- ยูทิลิตี้ Unix กว่า 350 รายการเช่น vi, ksh, csh, ls, cat, awk, grep, kill, เป็นต้น
- GCC 3.3 คอมไพเลอร์รวมและไลบรารี (ผ่าน MS libc)
- wrapper เหมือนสำเนาสำหรับคอมไพเลอร์บรรทัดคำสั่งของ Microsoft Visual Studio C / C ++
- ดีบักเกอร์ GDB
- เซิร์ฟเวอร์และไคลเอ็นต์ NFS
- pcnfsd daemon
- เครื่องมือและไลบรารี X11
- เครื่องมือสำหรับการทำให้จุดเมาท์ NFS ปรากฏเป็น Windows share และในทางกลับกัน (บริการเกตเวย์)
- ความสามารถของเซิร์ฟเวอร์ NIS ที่เชื่อมโยงกับ Active Directory (AD)
- เครื่องมือซิงโครไนซ์ข้อมูลการตรวจสอบสิทธิ์ Windows / Unix บางตัว
SFU ไม่มีสิ่งต่อไปนี้ (แต่มีไบนารีสำหรับการติดตั้งแยกต่างหาก):
- bash, OpenSSH, sudo, CVS, ClamAV, bzip2, gmake, curl, emacs, Apache, XView, Ruby, Tcl, Python
เนื่องจาก SUA ไม่ได้พยายามเป็น Linux หรือ BSD แต่เป็นเพียง POSIX ธรรมดานี่อาจหมายความว่าหลาย ๆ โปรแกรมที่พึ่งพาสิ่งเฉพาะแพลตฟอร์มอาจไม่สามารถสร้างหรือรันได้ เชลล์สคริปต์ที่ถือว่าทุบตีแทนการเรียกใช้ระบบ sh หรือ Linux โดยเฉพาะ ปัจจุบันมีโปรแกรมเพียงไม่กี่โปรแกรมที่สามารถเขียนได้โดยตรงบนระบบที่รองรับ POSIX รุ่น gcc ที่รวมอยู่ด้วยค่อนข้างเก่าซึ่งหมายความว่าอาจไม่รองรับ C99 + คุณล่าสุด
1มันยังอยู่ภายใต้ข้อ จำกัด เฉพาะของ Windows เช่นเวลาเริ่มต้นกระบวนการช้าดังนั้นการฟอร์กกิ้งขั้นสุดจึงจะช้ามากซึ่งเป็นสาเหตุที่คุณจะต้องรอนานหลายปีสำหรับ./configure
สคริปต์จำนวนมาก
คุณสามารถใช้แพ็คเกจสไตล์ BSD สำหรับการติดตั้ง / ถอนการติดตั้งซอฟต์แวร์ คุณสามารถเข้าถึง SUA ผ่าน SSH หากคุณติดตั้ง OpenSSH