Windows 10 có thể chạy các chương trình Linux. Dưới này là những điều bạn phải biết để tận dụng tối đa Windows Subsystem cho Linux.
Năm ngoái, Microsoft đã thêm một tính năng mới lạ cho Windows đó là bổ trợ Linux. Quản lý chương trình Rich Turner trao đổi với CIO.com: Tính năng Windows Subsystem for Linux (WSL) – hay còn được coi là Bash trên hệ điều hành Windows – là việc Microsoft tạo nên một cơ sở hạ tầng tương thích với Linux chạy trên và trong nhân hệ thống (kernel) Windows. Nghĩa là chạy chương trình Linux mà chẳng cần thoát Windows.
Ông Turner giải thích: “Bash trên Windows cung cấp bộ công cụ cho những nhà phát triển, các quản trị viên CNTT và các chuyên gia công nghệ khác muốn hoặc cần chạy các công cụ dòng lệnh Linux cùng theo với những công cụ và phần mềm của Windows” . Bash phát triển dưới sự bổ trợ của Canonical (và một số lượng lớn người dùng trong cộng đồng Linux). Bash không ra đời để biến Linux thành Windows hay Windows thành Linux. Nó chỉ là một số công cụ Linux thông dụng để phát triển và cũng đều có thể sử dụng mà không cần chạy qua máy ảo (virtual machine). Đây là một trong các lí do Mac phổ biến với các nhà phát triển: MacOS dựa theo BSD – một hệ điều hành dẫn xuất từ UNIX, do đó nó có thể chạy các công cụ Linux như Bash. Và lúc này bạn cũng cũng có thể có thể làm như thế trên Windows 10.
Ông Turner cũng giải thích rằng: “Khi sử dụng Bash trên Windows, các nhà phát triển có thể chạy các công cụ dòng lệnh Linux nguyên bản, chính hãng trong môi trường Linux tương thích cao cùng với các công cụ Windows yêu thích của họ”.
Ông Turner cho hay: WSL đang phát triển mau chóng và với Creators Update, nó rất có ích để sử dụng hàng ngày. Tuy nhiên, khi bạn biết thêm về kiểu cách Windows 10 và Linux tương tác với nhau thì sử dụng WSL sẽ trở nên đơn giản hơn.
- Hướng dẫn truy cập file Ubuntu Bash trên Windows
- Hướng dẫn chạy Bash của Ubuntu trên Windows 10
1. WSL dành cho các nhà phát triển
WSL sinh ra để giúp Windows hoạt động tốt hơn cho những nhà phát triển, những người cần liên kết với Linux backend một cách dễ dàng, hoặc sử dụng các công cụ thường sẽ có sẵn trên Linux mà không có trên Windows, hay trường hợp các công cụ kia đã được biên dịch thành các file nhị phân khi bạn sử dụng Linux với hệ thống file Linux. Turner gọi nó là bộ công cụ tuyệt hảo cho bất kì nhà phát triển nào làm việc trên các giải pháp đa nền tảng, nhất là những người làm việc về xây dựng các trang web, dịch vụ hệ thống hoặc dịch vụ lưu trữ.
2. WSL là một Linux distro chứ không phải nhân hệ thống Linux
WSL cài đặt Linux distro trên máy tính người dùng (hiện tại, Ubuntu 16.04 là loại distro người sử dụng được cài và hỗ trợ tự động), mặc dầu sẽ được rất nhiều tùy chọn hơn trong tương lai. Chương trình Linux thực hành các cuộc gọi hệ thống như thường lệ, nhưng theo Turner, các cuộc gọi hệ thống kia sẽ đi đến Windows thay vì Linux. Ông cho hay: Các cuộc gọi từ công cụ dòng lệnh người sử dụng tương tác với nhân hệ thống OS. Nghĩa là bạn chỉ cần cài đặt và sử dụng chương trình Linux mà chẳng cần thay đổi gì cả vì bạn đang sử dụng Windows.
3. WSL không phải là máy ảo
Khi bạn chạy Linux trên Windows trong một máy ảo, bạn sẽ được 1 hệ điều hành riêng biệt bỏ lỡ biết bao Windows. WSL sử dụng CPU và bộ nhớ ít hơn nhiều máy ảo. Bởi vì bạn vẫn còn trong Windows nên bạn có thể sử dụng các công cụ Windows và Linux với nhau trên cùng một dãy các tập tin. Điều này nghĩa là WSL sẽ hoạt động trong hệ Windows ảo mà chẳng cần lo lắng về việc ảo hóa lồng nhau.
4. WSL chẳng cần là Cygwin (môi trường nix trong Windows)
Cygwin là một thư viện cung cấp cho người sử dụng một môi trường đồ họa UNIX-like bên trong Windows, kể cả giao diện dòng lệnh, và bạn phải biên dịch phần mềm một cách đặc biệt cho nó. Với WSL, chương trình Linux mở bên trong môi trường Windows chuẩn, nên bạn không cần thay đổi chúng để chạy trên Windows.
5. Hướng dẫn cài đặt và khởi động WSL
Bạn càng phải có phiên bản Windows 10 Creators Update 64 bit (bản 1703 hoặc mới hơn). Trước hết, mở Settings > Update & security > For developers và bật Developer mode , sau đó chọn hộp được đánh dấu là Windows Subsystem for Linux (Beta) trong phần Turn Windows features on or off của Control Panel (bạn cũng có thể có thể gõ từ khóa này vào cửa sổ PowerShell nâng cao): Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux) . Khởi động máy tính, mở cửa sổ lệnh và gõ bash để tải hình ảnh Ubuntu. Việc này cũng tạo thêm shortcut trong thanh Start menu để khởi chạy bash. Nếu là lần đầu tiên sử dụng, bạn sẽ được khuyến khích tạo tên người dùng và mật khẩu UNIX (đây là một tài khoản khác tài khoản trong Windows).
6. Bạn không cần tài khoản Admin để sử dụng WSL
Bạn cần các thông tin quản trị để bật WSL nhưng điều này đơn giản thi hành với DISM hoặc các công cụ quản lý khác, nên các nhà phát triển không cần tài khoản admin trên máy tính mà vẫn có thể sử dụng WSL khi đã được kích hoạt.
7. Liên kết biểu trưng cũng không cần quyền quản trị
Windows bổ trợ các liên kết biểu trưng từ phiên bản Vista, nhưng vì lí do bảo mật, bạn cần sử dụng dấu lệnh nâng cao để tạo và sửa đổi chúng. Điều này gây nên nhiều vấn đề cho các công cụ như Git và npm, sử dụng liên kết biểu tượng khi tạo và khôi phục các repos và package. Như phiên bản Creators Update, khi bạn kích hoạt Developer mode , bạn chẳng cần nâng cao hình thức quản trị để làm việc với những liên kết tượng trưng.
8. WSL chẳng những đơn giản chỉ là bash
Bash là cách vào WSL. Nó luôn là tiến độ WSL chạy đầu tiên, nếu bạn đóng bash, tất cả các tiến độ Linux khác mà bạn đang chạy cũng sẽ đóng lại. Tuy nhiên, bạn cũng đều có thể sử dụng apt trong bash để cài đặt chương trình Linux. Bạn có thể sử dụng công cụ Linux phổ biến như apt, sed, grep, awk, top, tmux và ssh hoặc chạy các công cụ nhà phát triển như Vim, Emacs, git và the GNU Debugger (GDB). Bạn cũng có thể có thể chạy các dịch vụ như sshd, Apache, nginx, MySQL và PostgreSQL hay các công cụ ngôn ngữ như npm cho Node.js, gems cho Ruby, Apache Maven cho Java, Pip cho Python hay bất kể công cụ gì mà bạn thường sử dụng trên Ubuntu.
9. WSL là các công cụ dòng lệnh
WSL được thiết kế để chạy các công cụ dòng lệnh, đó là lí do nó bắt đầu với bash shell. Nhưng điều đó không có tức là các công cụ đồ hoạ Linux sẽ không hoạt động. Thực tế, rất nhiều công cụ hoạt động nhưng đó là phản ứng phụ của công việc mà Microsoft đang làm để hỗ trợ các công cụ dòng lệnh, chứ không phải do sự có mặt của WSL. Microsoft không làm những gì đặc biệt để bổ trợ chạy các công cụ đồ họa Linux, nhưng hãng này cũng không làm bất cứ điều gì để chặn người sử dụng chạy công cụ đồ họa Linux trên WSL.
10. Việc bổ tính năng bổ trợ Linux đã cải thiện giao diện điều khiển cho người dùng.
Để giúp giao diện điều khiển Windows giải quyết định dạng văn bản tốt cho những công cụ dòng lệnh như Vim, Emacs và tmux, Creators Update đã bổ trợ cho những code ANSI và VT Sequences mà các công cụ UNIX và Linux sử dụng trong giao diện của chúng. Nó cũng có màu 24-bit thay vì màu 16 bit cũ và hỗ trợ chuột tốt hơn (cần thiết cho các công cụ như Midnight Commander và Htop). Những công cụ này xuất hiện trong tất cả các giao diện dòng lệnh của Windows, kể cả CMD và PowerShell.
11. WSL không nằm trêm Windows Server
WSL chỉ có trong máy khách Windows 10, chứ không chạy trong Windows Server. Vì vậy, nếu bạn đang sử dụng cơ sở hạ tầng máy tính ảo hoặc các cách chạy trên Windows khác thì bạn phải chạy máy khách Windows để sử dụng WSL.
12. Bash không thay thế PowerShell
Một nguyên nhân mà WSL không có trong Windows Server là bởi nó chưa được thiết kế để quản lý khối lượng công việc như Windows Server, Active Directory, IIS, Exchange, SharePoint, System Center, SQL Server, Hyper-V và Azure theo phương pháp mà PowerShell hoạt động. PowerShell là một framework tự động hóa nhiệm vụ và cấu hình. WSL không thay đổi điều đó.
13. Bạn cần quản lý cập nhật
WSL được cập nhật thường xuyên qua Windows Update và các bản cập nhật hai lần từng năm của Windows. Nhưng điều này không cập nhật Linux distro của bạn (theo phản hồi từ phần lớn người dùng). Để nắm giữ các bản cập nhật cho Ubuntu và những chương trình Linux khác, bạn cần tự chạyapt-get update (Microsoft cũng đang có ý định bổ sung tính năng tự động cập nhật trong thời gian tới).
14. Bạn có thể quản lý WSL với các công cụ Windows thông thường
Một ưu thế lớn của WSL là bạn có thể sử dụng các công cụ quản lý và quan sát mạng tựa như mà bạn đã dùng trong hệ thống Windows, điều mà các máy ảo thường bỏ qua. Turner giải thích: “Khi WSL sử dụng bộ nhớ, tiến trình, mạng, bộ lưu trữ và các ngăn bố trí IO hiện có của Windows,các khoản đầu tư mà công ty đã thực hành trong việc bảo vệ, quản lý và giám sát OS được bảo toàn và mở rộng để giúp bảo vệ, giám sát các tiến độ Linux” . Ông cho biết: “Mặc dù nhiều nhà sản xuất các phần mềm diệt virus khác cũng từng hợp tác với Microsoft để hỗ trợ cho WSL nhưng cho đến nay, Windows Defender là loại chống virus duy nhất hoạt động với WSL và quản lý tiến trình Linux”.
15. WSL băng qua kết nối với tiến trình Windows
Các tiến độ Linux mà bạn chạy với WSL được giải quyết giống như những qui trình khác trong Windows, nên chúng hiển thị trong Task Manager, giúp bạn đơn giản hủy bỏ bất kể tiến độ nào đã treo. Điều này còn có nghĩa là bạn cũng có thể gọi các tệp thực thi của Windows bên trong bash bằng phương pháp gõ tệp tin đầy đặn của chương trình (nhớ tệp .EXE, nhưng bạn chẳng cần xác minh nơi tệp hiện diện nếu tệp đó nằm ở phía trong đường dẫn của Windows), hoặc gọi chương trình Linux và nhận kết quả từ ứng dụng của Windows. Nghĩa là bạn phải bắt đầu các tập tin batch từ bash bằng phương pháp gọi CMD.EXE, đưa một lệnh trong bash vào PowerShell để xử lý hoặc khởi chạy Visual Studio hay gọi MSBuild để hoàn thiện đoạn code vừa được chỉnh sửa trên bash. Cài đặt trình bổ trợ dòng lệnh RunInBash để chạy lệnh Linux từ PowerShell hoặc CMD bằng cách gõ $ ở phía trước.
16. WSL băng qua kết nối với Windows filesystem
Với WSL bạn sẽ được được Linux DrvFs filesystem, những ổ đĩa gắn vĩnh viễn từ hệ thống tập tin Windows sẽ có tự động gắn vào nó để bạn cũng có thể truy cập tập tin trên hệ thống Windows từ những công cụ Linux mà bạn chạy.Thậm chí WSL còn bổ trợ dịch vụ Linux inotify cho phép các ứng dụng đăng kí các thông báo thay đổi filesystem, cho dù là các tệp trong Windows filesystem và các thông báo này có thể kích hoạt các lệnh như khởi động lại máy server hoặc dựng code. Nghĩa là bạn có thể giữ code đó ở nơi có thể chỉnh sửa bằng Visual Studio, sử dụng code tựa như với công cụ Linux và xem mọi thứ tự động xảy ra khi thay đổi code.
17. Bạn chẳng thể mở các tập tin Linux trong các ứng dụng của Windows
Các công cụ Linux đang chạy với WSL có thể mở các file Windows nhưng đừng cố gắng mở các file từ hệ thống tệp Linux trong số ứng dụng Windows. Nó sẽ không hoạt động và cũng có thể có thể làm hỏng các tập tin.
18. Bạn sẽ muốn truy cập vào Windows Insider
WSL vẫn đang phát triển và tiếp tục có nhiều tính năng mới như kết nối với những cổng tiếp nối Windows từ những tiến trình Linux hoặc cũng có thể có thể gắn ổ đĩa rời và chia sẻ mạng. Những tính năng này không có trong Creators Update, nhưng bạn có thể tải chúng bằng cách chạy Windows Insider builds mà không cần chờ tới sáu tháng cho bản cập tiếp theo.
Bài viết “18 điều nên biết về việc sử dụng công cụ Linux trong Windows 10” được xuất bản lần đầu bởi CIO.
Bạn thấy bài viết trên có có ích không? Nếu có chia sẻ gì, mời bạn comment phía dưới nhé!
Từ khóa bài viết: sử dụng công cụ Linux trong Windows 10, tính năng WSL, tính năng Windows Subsystem for Linux, Bash trên Windows, chạy linux trên windows, chạy linux trên windows không cần máy ảo, cài linux trên windows
Bài viết Chạy Linux trên Windows 10 không cần máy ảo, đây là 18 điều bạn nên biết được tổng hợp sưu tầm và biên tập bởi nhiều user – Sửa máy tính PCI – TopVn Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho chúng tôi để điều chỉnh. Xin cảm ơn.