Lab001: Sử dụng WSL để cài đặt và khởi chạy Linux trên Windows
"Blog này xin dành cho những người bạn của tôi, đang đi từ con số 0, bước những bước nhỏ như tôi hiện tại trên con đường Điện toán đám mây. Mọi hướng dẫn ở đây đều dựa trên những kiến thức có sẵn trên mạng và sẽ được dẫn nguồn, nhưng như đã nói - diễn dịch khối kiến thức trên thành những bước nhỏ, thao tác đơn giản, dành cho người chưa có bất kì khái niệm gì"
I. Đặt vấn đề
- Tại sao phải cài đặt Linux để dùng cho AWS: Tất nhiên AWS đã cung cấp cho chúng ta giao diện Web (Web Console) rất dễ sử dụng nhưng trong nhiều trường hợp, chúng ta sẽ cần đến sức mạnh tối cao của công cụ dòng lệnh AWS-CLI (CLI - Command Line Interface) và Linux chính là một trong những môi trường để chạy AWS-CLI.
- Tại sao chọn Linux trong khi chúng ta có nhiều lựa chọn khác như Windows Terminal, PUTTY, SolarWins..vv..: Linux cung cấp những công cụ mạnh dùng trong quá trình config AWS, mạnh như thế nào thì tôi cũng chưa đủ trình để nói cho cặn kẽ, nhưng tôi sẽ chứng minh điều này trong những bài Lab tiếp theo. PUTTY là một công cụ giao diện dòng lệnh khá nổi tiếng nhưng config nó để làm việc với AWS thì thật rườm rà.. Hoặc đơn giản là vì mình thích Linux.
- Tại sao lại là WSL mà không phải VMWare, VirtualBox..vv..: Nếu bạn chỉ chú ý đến CLI của Linux mà không quan trọng giao diện đồ họa thì còn gì thuận tiện bằng WSL - nhẹ, dễ, tiện, xóa đi cài lại chỉ trong vài phút.
II. Cài đặt và khởi chạy
Để minh họa cho bài Lab này, chúng ta sẽ thực hiện cài đặt và khởi chạy bản phân phối Ubuntu trên nền tảng WSL, cuối bài Lab chúng ta sẽ nói thêm về một số thao tác, lệnh cơ bản đầu tiên với thư mục trong môi trường Linux.
2.1 Bật tính năng "Windows Subsystem for Linux"
Truy cập theo đường dẫn
Control Panel -> Program -> Turn Windows Features On or Off -> tích chọn mục "Windows Subsystem for Linux" ->
OK. Thông thường mình cũng sẽ Enable luôn cả .NetFramework 4.8, Power
Shell 2.0, Hypervisor Platform, Virtual Machine Platform.. Đằng nào thì sau
này cũng có lúc dùng đến.
2.2 Cài đặt một bản phân phối (Distro) Linux
2.2.1 Cách 1 - thông qua Windows Store
Trong bài Lab này mình sẽ cài đặt bản phân
phối Ubuntu, đối với các Distro khác như Kali, Debian, Arch... cách làm đều
tương tự.
Truy cập Windows Store: Start -> gõ "store" -> Search -> gõ "ubuntu" -> chọn phiên bản
Ubuntu mà bạn muốn cài đặt -> Get
Sau khi bấm Get, quá trình tải về sẽ được bắt đầu, kết thúc tiến
trình download là coi như bạn đã cài đặt thành công bản giả lập Ubuntu trên
Windows. Phần tiếp theo chúng ta sẽ khởi chạy lần đầu bản giả lập
này.
2.2.2 Cách 2 - Thông qua dòng lệnh PowerShell
Nếu bạn cảm thấy Cách 1 là chưa đủ nguy hiểm, vậy chúng ta sẽ
dùng đến sức mạnh tối cao của dòng lệnh như sau.
Mở công cụ PowerShell với quyền
Administrator: Start -> gõ "powershell" để tìm kiếm -> chọn Run as
Adminsitrator
Trên giao diện PowerShell, để cài đặt một
bản phân phối linux nào đó chúng ta sẽ dùng câu lệnh với cú pháp:
wsl --install -d <Distribution Name>
Với cờ "-d" (distribution) chính là DistributionName dịch nôm là tên phiên bản Linux bạn muốn cài đặt. Nhưng chúng ta sẽ lấy tham số DistributionName ở đâu??? -> Sử dụng câu lệnh sau và xem kết quả:
wsl --list --online
Tìm được tham số DistributionName rồi vậy để cài đặt bản Ubuntu 20.04 LTS chẳng hạn, chúng
ta sẽ dùng câu lệnh:
wsl --install -d Ubuntu-20.04
Sau khi gõ câu lệnh trên, quá trình download và install sẽ
bắt đầu. Đến đây bạn đã thấy mình trở nên nguy hiểm chưa =)))
Quá trình cài đặt hoàn tất, cửa sổ khởi tạo lần đầu sẽ tự động mở ra. Vậy là chúng ta kết thúc phần này tại đây để chuyển qua phần tiếp theo: Khởi chạy và thiết lập lần đầu
Bài hướng dẫn gốc các bạn có thể tham khảo tại đây:
https://docs.microsoft.com/en-us/windows/wsl/install#:~:text=To%20see%20a%20list%20of,-d%20.
**
2.3 Khởi chạy lần đầu
Nếu bạn cài đặt Linux thông qua Store, vậy có thể khởi chạy
bằng cách
Start -> gõ "ubuntu" để tìm kiếm -> ..
- Đặt tên cho tài khoản User: ở đây mình đang đặt User Name là "l"
- Đặt mật khảu cho tài khoản: mật khẩu này sẽ được sử dụng mỗi khi bạn chạy câu lệnh có yêu cầu quyền SuperUser (đúng rồi, bạn "l" của chúng ta đang là User thường đấy). Đối với mục đích học tập thì mình chọn mật khẩu có độ dài vừa phải cho dễ thao tác. Nhưng nếu là đi làm cho Ngân hàng chẳng hạn, thì mật khẩu này là cực kì quan trọng, buộc phải vượt quá trí nhớ ngắn hạn của con người và được bảo vệ bởi nhiều lớp qui định An toàn thông tin. Nếu không thế thì chẳng mấy mà bóc lịch (gõ xong mật khẩu nhớ ấn Enter)
- Xác nhận lại mật khẩu bạn vừa đặt bằng cách gõ lại nó 1 lần nữa -> Enter
Đến đây bạn có thể tắt cửa sổ này đi được
rồi,
lần tới khi khởi chạy Linux, chúng ta sẽ thông qua PowerShell bằng câu
lệnh theo cú pháp sau:
wsl -d <Distribution Name>
Để biết các Distro đang được cài đặt trên máy tính của bạn, hãy sử dụng câu lệnh:
wsl --list --all
Trong trường hợp này thì sẽ là:
wsl -d Ubuntu-20.04
Hãy thử gõ câu lệnh đầu tiên, Update hệ thống của chúng
ta:
sudo apt-get update
Câu lệnh này cần có đặc quyền Super User (hay Root User) để có
thể thực thi vì thế chúng ta có thành phần "sudo" ->
cần phải gõ password -> quá trình update bắt
đầu:
2.4 Lưu ý với thao tác Copy / Paste
Trong môi trường PowerShell hay nhiều Console khác, hẳn ai
cũng sẽ có lúc bối rối khi cần dùng thao tác Copy / Paste vì
tổ hợp phím tắt CTRL+C thần
thánh giờ lại mang chức năng
hủy tiến trình đang chạy
(terminate)
Vậy giải pháp thay thế là hãy
bật chức năng Copy / Paste thông qua tổ hợp phím Shift+Ctrl+C /
Shift+Ctrl+V. Dưới đây là cách làm đối với Windows PowerShell, phần lớn các Console
khác như Terminal Preview, Termux, Xterm... đều có tùy chọn tương tự dù
cách trình bày có thể khác đi, các bạn mày mò một chút kiểu gì cũng sẽ có
phím tắt để Copy / Paste được nhanh chóng:
**
2.5 Các lỗi thường gặp
** Sẽ tiếp tục cập nhật, các huynh đệ hãy kiên nhẫn **
III. Những thao tác đầu tiên cần chú ý về thư mục
3.1 Câu lệnh về vị trí thư mục
Như đã biết, câu lệnh về vị trí thư mục là tối quan trọng khi làm việc với giao diện dòng lệnh CLI. Trong đó có một số câu lệnh cơ bản nhất như sau:- Câu lệnh "cd": được dùng để di chuyển giữa các thư mục
- Câu lệnh "pwd": được dùng để biết bạn đang đứng ở thư mục nào
- Câu lệnh "ls": được dùng để list ra những file, folder có trong thư mục bạn đang đứng
Đầu tiên hãy khởi chạy Linux trên PowerShell
bằng 2 câu lệnh wsl --list --all và wsl -d <Distribution Name>
Sau đó, thử chạy lệnh pwd. Như vậy, lệnh này đã trả lại
kết quả về vị trí thư mục bạn đang đứng (bạn đang ở folder nào): /mnt/c/Users/AdministratorTiếp theo, chạy lệnh ls. Như vậy, câu lệnh đã trả về kết quả có những file / folder nào trong thư mục bạn đang đứng. Ở đây mình để màu theme hơi tối nghĩa nên tạm thời không nhìn thấy tên các folder
Tiếp theo, sử dụng câu lệnh cd để đi đến thư mục gốc của bạn (mình cũng chưa rõ nên gọi tên thư mục này thế nào cho chuẩn nhất), và kết hợp với lệnh pwd để kiểm tra vị trí bạn đang đứng sau khi di chuyển
- Bạn đang đứng ở thư mục với đường dẫn /home/l, trùng với UserName, đây chính là thư mục gốc của bạn. Để đi đến thư mục này, ta đã dùng một đại diện thay thế cho "/home/l" là "~/". Như vậy 2 câu lệnh dưới đây là tương đương:
cd /home/l
và
cd ~/
- Để tránh nhầm lẫn đáng tiếc trong khi thao tác, cài đặt, copy, xóa, sửa file / folder trong Linux. Hãy luôn sử dụng bộ 3 câu lệnh trên để biết rõ bạn đang ở thư mục nào, thư mục này có gì, đi đến chỗ khác thì sử dụng đường dẫn gì. Tốt nhất là trước và sau khi thực hiện tác vụ gì, hãy quay về thu mục gốc.
- Ví dụ mình muốn đi đến thư mục /etc/ và xem có những gì trong đó chẳng hạn.
cd /etc/ls
Và sau khi xong việc ở đây rồi, chúng ta quay về thư mục gốc (dùng pwd để kiểm tra sau khi di chuyển vị trí)
cd ~/pwd
https://unix.stackexchange.com/questions/421821/invalid-signature-for-kali-linux-repositories-the-following-signatures-were-i
**
3.2 Script
Bài dài quá rồi, nên mình quyết định sẽ chuyển phần này sang các bài sau.
Thêm nữa, các bạn có để ý dòng lệnh PowerShell của mình có chút màu mè hơn PowerShell mặc định của các bạn không? Thực ra nó khá hữu ích khi mang lại cho ta thêm thông tin, và đây cũng sẽ là nội dung của bài Lab002: Tùy chỉnh giao diện dòng lệnh.
**
Nhận xét này đã bị tác giả xóa.
Trả lờiXóanhà có chày rồi, mong tác giả ra thêm nhiều cối nữa nhé..
Trả lờiXóaCê, giả như kiếm được cái cối nào chịu khó, biết cảm thông chia sẻ thì tốt quá, đằng này vẫn phải lọ mọ với máy móc =)))
Xóa