Chốt ý nhanh
| Ý chính | Điểm cần nhớ |
|---|---|
| Linux | Nền tảng vận hành phổ biến cho server vì ổn định, nhẹ, dễ tự động hóa. |
| SysAdmin | Không chỉ cài máy, mà còn quan sát, vận hành, backup, bảo mật và xử lý sự cố. |
| Việc đầu tiên khi nhận server | Quan sát hệ thống trước, ghi chép lại, chưa sửa vội. |
Bài 01: Linux là gì và vai trò của SysAdmin
Bài mở đầu giúp anh hiểu Linux dùng để làm gì, SysAdmin chịu trách nhiệm những gì và cách bắt đầu thực hành mà không bị mơ hồ.
- Linux là gì và vì sao server production thường dùng Linux.
- SysAdmin làm những việc gì hằng ngày.
- Cách quan sát một server Linux ở mức cơ bản.
- Những lệnh đầu tiên nên chạy khi nhận một máy chủ mới.
1. Linux là gì?
Linux là một hệ điều hành mã nguồn mở. Trên máy cá nhân anh có thể quen Windows hoặc macOS, còn trên server thì Linux rất phổ biến vì nhẹ, ổn định, dễ tự động hóa và phù hợp chạy dịch vụ lâu dài.
Khi anh truy cập một website, phía sau có thể là một server Linux đang chạy Nginx, PHP, Node.js, Python, database, cache, backup job và các service giám sát.
| Thành phần | Hiểu đơn giản | Ví dụ |
|---|---|---|
| Kernel | Lõi giao tiếp với CPU, RAM, disk, network | Quản lý process, filesystem, network stack |
| Shell | Nơi anh gõ lệnh để điều khiển hệ thống | bash, zsh |
| Package | Phần mềm được cài qua trình quản lý gói | nginx, mysql, docker |
| Service | Chương trình chạy nền | ssh, nginx, cron |
2. SysAdmin làm gì?
SysAdmin là người giữ cho hệ thống chạy ổn định, an toàn và có thể khôi phục khi có sự cố. Công việc không chỉ là “cài server”, mà gồm cả vận hành, giám sát, bảo mật, backup và xử lý lỗi.
- Chuẩn bị server: user, SSH, firewall, package.
- Cài và quản lý service: Nginx, database, Docker, monitoring.
- Theo dõi tài nguyên: CPU, RAM, disk, network.
- Đọc log và xử lý lỗi.
- Backup/restore dữ liệu.
- Viết tài liệu vận hành và checklist.
3. Lab thực hành: quan sát một máy Linux
Bước 1: Xem mình đang là user nào
whoami id pwd
whoami cho biết user hiện tại. id cho biết UID/GID và group. pwd cho biết thư mục hiện tại.
Bước 2: Xem hệ điều hành và kernel
cat /etc/os-release uname -a
Nếu thấy Ubuntu/Debian/CentOS/Rocky/AlmaLinux thì đó là distro. uname -a cho biết kernel version và kiến trúc máy.
Bước 3: Xem server đã chạy bao lâu
uptime
Output thường có thời gian chạy, số user đang login và load average. Load cao bất thường là tín hiệu cần kiểm tra tiếp.
Bước 4: Xem CPU/RAM/Disk nhanh
free -h df -h lscpu | head
free -h xem RAM, df -h xem disk theo filesystem, lscpu xem CPU.
4. Tình huống thực tế
5. Checklist khi nhận server mới
- Ghi lại IP, hostname, OS version.
- Kiểm tra user đăng nhập và quyền sudo.
- Kiểm tra tài nguyên: CPU, RAM, disk.
- Kiểm tra service SSH.
- Kiểm tra timezone.
- Chuẩn bị backup/snapshot trước khi thay đổi lớn.
6. Lỗi người mới hay gặp
- Chạy lệnh với
sudomà không hiểu tác dụng. - Không phân biệt server production và máy lab.
- Không ghi lại thay đổi đã làm.
- Thấy lỗi là restart bừa service mà chưa đọc log.
7. Bài tập
- Tạo một máy Linux lab hoặc dùng VPS test.
- Chạy:
whoami,id,cat /etc/os-release,uptime,free -h,df -h. - Ghi lại kết quả vào một file notes.
- Viết 5 dòng mô tả server đó theo cách của anh.
Kết bài
Nếu anh nắm chắc bài này, anh sẽ không còn nhìn Linux như một màn hình đen đầy lệnh khó nhớ, mà như một môi trường vận hành có logic rõ ràng. Quan trọng nhất ở bài mở đầu không phải thuộc thật nhiều lệnh, mà là hình thành đúng phản xạ: nhận máy thì quan sát trước, ghi lại trạng thái, hiểu quyền hạn rồi mới bắt đầu thay đổi. Sang bài tiếp theo, anh sẽ đi sâu vào terminal và cấu trúc thư mục để di chuyển trong hệ thống một cách tự tin hơn.
Phần thực hành mở rộng: dựng lab Linux đầu tiên cho người mới
Đây là phần quan trọng nhất nếu anh muốn bài học đi từ “đọc cho biết” sang “làm thật để nhớ”. Mục tiêu của lab là giúp người mới tự tay cài một máy Linux, đăng nhập, nhận diện hệ thống và ghi lại những quan sát đầu tiên như một sysadmin tập sự.
Lab 1: Tạo máy ảo Linux đầu tiên
- Cài VirtualBox, VMware Workstation hoặc dùng một VPS nhỏ.
- Tạo VM Ubuntu Server 22.04/24.04 với 2 vCPU, 2 GB RAM, 20 GB disk.
- Đặt hostname là
lab-linux-01. - Tạo user thường, không làm mọi thứ bằng root ngay từ đầu.
Sau khi cài xong, đăng nhập và chạy:
hostnamectl
uname -a
cat /etc/os-release
whoami
id
pwd
Điều cần quan sát:
hostnamectlcho biết tên máy, kernel, architecture./etc/os-releasecho biết distro và version.whoamivàidcho biết anh đang là user nào, thuộc group nào.
Lab 2: Nhìn Linux bằng góc nhìn của sysadmin
Thay vì chỉ học “Linux là hệ điều hành”, hãy nhìn nó như một môi trường vận hành dịch vụ. Chạy tiếp:
uptime
free -h
df -h
ip a
ss -tulpn | head
systemctl list-units --type=service --state=running | head -20
Khi đọc output, hãy tự trả lời 6 câu hỏi:
- Máy đang online bao lâu?
- Còn bao nhiêu RAM khả dụng?
- Phân vùng nào gần đầy nhất?
- Máy có bao nhiêu địa chỉ IP?
- Những port nào đang mở?
- Những service nào đang chạy nền?
Đó chính là cách một sysadmin quan sát hệ thống khi mới tiếp quản máy chủ.
Lab 3: So sánh user thường và root
Thử chạy một lệnh cần quyền cao bằng user thường:
apt update
cat /etc/shadow
Anh sẽ thấy lỗi kiểu Permission denied hoặc bị từ chối. Sau đó thử bằng sudo:
sudo apt update
sudo cat /etc/shadow | head
Mục đích của bài tập này không phải để xem nội dung nhạy cảm, mà để hiểu rõ rằng Linux phân tách quyền rất chặt. Một sysadmin giỏi phải hiểu đâu là thao tác user thường làm được, đâu là thao tác cần sudo, và vì sao không nên ngồi làm việc cả ngày bằng root.
Lab 4: Ghi nhật ký quan sát đầu tiên
Tạo file ghi chú đúng kiểu công việc vận hành:
mkdir -p ~/lab-notes
nano ~/lab-notes/linux-first-observation.txt
Ghi lại:
- Tên máy
- Phiên bản Linux
- IP chính
- Dung lượng disk
- Các service đáng chú ý đang chạy
- Điều gì khiến anh thấy “Linux khác Windows nhất”
Thói quen ghi chép này rất quan trọng. Sysadmin không chỉ biết lệnh, mà còn phải để lại dấu vết để người khác hoặc chính mình sau này hiểu máy đang như thế nào.
Tình huống thực tế
Anh vừa nhận bàn giao một VPS từ nhà cung cấp. Họ chỉ gửi IP, user và mật khẩu. Việc đầu tiên không phải cài thêm phần mềm, mà là chạy các lệnh ở trên để biết mình đang đứng ở đâu: OS gì, tài nguyên bao nhiêu, network ra sao, service nào đang tồn tại, và có dấu hiệu bất thường nào không.
Lỗi người mới hay gặp
- Không phân biệt terminal local và terminal SSH vào server.
- Đăng nhập root rồi làm mọi thứ bằng root.
- Không kiểm tra dung lượng, RAM, IP trước khi cài thêm dịch vụ.
- Không ghi chép lại hostname, thông số máy và thay đổi đã làm.
Checklist sau lab
- Tự dựng được một máy Linux.
- Biết xem hostname, distro, kernel, IP, RAM, disk.
- Hiểu khác biệt giữa user thường và root.
- Biết vì sao SysAdmin cần Linux như nền tảng vận hành.
Phần đào sâu thêm: từ Linux căn bản sang tư duy vận hành
Nếu chỉ dừng ở việc biết vài lệnh cơ bản thì người học mới chỉ đang “chạm vào Linux”. Muốn đi xa hơn, anh cần tập tư duy của người vận hành: mỗi lệnh chạy ra là để trả lời một câu hỏi về trạng thái hệ thống.
6 câu hỏi phải tự hỏi khi mới nhận một server
- Máy này đang chạy distro nào, phiên bản nào, còn được support không?
- Ai đang có quyền đăng nhập vào máy?
- Tài nguyên hiện tại có đủ cho dịch vụ sắp chạy không?
- Những service quan trọng nào đang bật sẵn?
- Máy này có đang lộ cổng nào ra ngoài không?
- Nếu hỏng ngay bây giờ thì đã có snapshot hoặc backup chưa?
Lab bổ sung: tự viết biên bản bàn giao server
echo "Hostname: $(hostname)" > ~/lab-notes/server-handover.txt
echo "OS: $(grep PRETTY_NAME /etc/os-release | cut -d= -f2-)" >> ~/lab-notes/server-handover.txt
echo "Kernel: $(uname -r)" >> ~/lab-notes/server-handover.txt
echo "Uptime: $(uptime -p)" >> ~/lab-notes/server-handover.txt
echo "Disk:" >> ~/lab-notes/server-handover.txt
df -h >> ~/lab-notes/server-handover.txt
Mục tiêu là tập biến quan sát kỹ thuật thành tài liệu vận hành. Đây là thứ người mới rất hay bỏ qua nhưng production thì luôn cần.
Góc production
- Linux mạnh vì kiểm soát chi tiết, nhưng cũng vì thế sai một lệnh có thể gây sự cố lớn.
- SysAdmin tốt không phải người gõ lệnh nhanh nhất, mà là người hiểu hệ thống rõ nhất trước khi thay đổi.
- Quan sát, ghi chép, xác nhận rồi mới sửa là nhịp làm việc rất quan trọng.
