Liên hệProfile
Danh mục

Mục Lục

    Runlevel là gì? Các cấp độ và cách sử dụng runlevel chi tiết

    Nguyễn Hưng

    Ngày đăng:

    13/01/2026

    Cập nhật lần cuối:

    13/01/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    13/01/2026

    Cập nhật lần cuối:

    13/01/2026

    Mục lục

    Runlevel trong Linux là một khái niệm dùng để xác định trạng thái hoạt động của hệ thống ở một thời điểm nhất định. Mỗi runlevel sẽ quy định tập hợp các dịch vụ, tiến trình nào được phép chạy hoặc bị dừng trên hệ thống Linux. Trong bài viết này, mình sẽ cùng bạn tìm hiểu rõ về các cấp bậc và cách sử dụng runlevel chi tiết.

    Những điểm chính

    • Định nghĩa: Hiểu rõ runlevel là trạng thái hoạt động của hệ thống, quy định các dịch vụ nào được phép chạy.
    • Phân tích 7 chế độ cấp bậc: Nắm vững ý nghĩa và mục đích sử dụng của từng runlevel, từ tắt máy (0), chế độ bảo trì (1), đến chế độ dòng lệnh (3) và đồ họa (5).
    • Hướng dẫn kiểm tra Runlevel: Biết cách sử dụng các lệnh runlevelwho -r để nhanh chóng xác định trạng thái hoạt động hiện tại của hệ thống.
    • Cách thay đổi runlevel: Thành thạo các lệnh inittelinit để chuyển đổi giữa các runlevel một cách linh hoạt, phục vụ cho các nhu cầu quản trị khác nhau.
    • Cách cài đặt mặc định: Học cách sử dụng systemctl set-default để thiết lập runlevel khởi động mặc định, tối ưu hóa hệ thống cho môi trường máy chủ hoặc máy tính để bàn.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan trực tiếp đến runlevel trong Linux.

    Runlevel là gì?

    Runlevel là thuật ngữ kỹ thuật dùng để chỉ trạng thái vận hành được thiết lập sẵn trên các hệ điều hành dựa trên Unix và Linux. Hệ thống sử dụng một số nguyên đơn giản từ 0 đến 6 để định danh cho mỗi trạng thái này. Mỗi cấp độ sẽ quy định chính xác những dịch vụ hoặc chương trình nào được phép khởi chạy và những dịch vụ nào phải dừng lại sau khi hệ điều hành hoàn tất quá trình khởi động. Trong kiến trúc khởi động truyền thống, runlevel chính là trạng thái của tiến trình init – tiến trình cha của mọi tiến trình khác trên hệ thống.

    Runlevel là thuật ngữ kỹ thuật dùng để chỉ trạng thái vận hành được thiết lập sẵn trên các hệ điều hành dựa trên Unix và Linux
    Runlevel là thuật ngữ kỹ thuật dùng để chỉ trạng thái vận hành được thiết lập sẵn trên các hệ điều hành dựa trên Unix và Linux

    Phân tích 7 chế độ cấp bậc trong runlevel

    1. Các trạng thái vận hành cố định (Runlevels 0, 1, 6)

    RunlevelTên gọi và chức năngMục đích sử dụng chi tiết
    0System Halt (Tắt hệ thống)Đây là trạng thái dừng hoàn toàn và hệ thống chấm dứt mọi tiến trình và ngắt nguồn điện an toàn. Bạn không bao giờ thiết lập runlevel 0 làm mặc định, nếu không máy chủ sẽ tự tắt ngay sau khi khởi động.
    1Single-user mode (Chế độ đơn người dùng)Thường được ký hiệu là s hoặc S, hệ thống khởi động tối thiểu: Không mạng, không tiến trình nền, chỉ cho phép root đăng nhập. Đây là môi trường lý tưởng để bảo trì, sửa lỗi, khôi phục mật khẩu root hoặc sửa file hệ thống.
    6Reboot (Khởi động lại)Kích hoạt quy trình tái khởi động, hệ thống dừng dịch vụ, ghi dữ liệu xuống đĩa (sync) và gửi tín hiệu restart tới phần cứng.

    2. Các trạng thái khác tùy thuộc bản phân phối (Runlevels 2, 3, 4, 5)

    RunlevelMô tả và chức năngĐặc điểm kỹ thuật và ứng dụng
    2Multi-user mode (No NFS)Đây là chế độ đa người dùng nhưng không hỗ trợ NFS. Trên RHEL/CentOS, chế độ này ít khi được dùng làm mặc định.
    3Multi-user mode (CLI)Là chế độ tiêu chuẩn cho Server/VPS, hoạt động đa người dùng, có mạng, nhưng chỉ dùng giao diện dòng lệnh (CLI). Việc không tải giao diện đồ họa (GUI) giúp tiết kiệm RAMCPU, mang lại hiệu suất tối đa cho ứng dụng.
    4User-definableRunlevel 4 thường để trống cho quản trị viên tự định nghĩa, thực tế rất ít được sử dụng.
    5Multi-user mode (GUI)Tương tự runlevel 3 nhưng runlevel 5 kích hoạt được giao diện đồ họa. Đây là chế độ mặc định cho desktop.

    Hướng dẫn kiểm tra runlevel trên Linux 

    Bạn có thể kiểm tra runlevel hiện tại trên Linux bằng hai lệnh đơn giản sau:

    runlevel
    who -r 

    Hai lệnh sẽ giúp bạn dễ dàng nắm bắt trạng thái vận hành hiện tại của hệ thống và xử lý các tình huống cấu hình hoặc khắc phục sự cố liên quan đến runlevel.

    Kiểm tra runlevel
    Kiểm tra runlevel

    Cách thay đổi runlevel trên Linux

    Nếu bạn muốn hệ thống chuyển sang runlevel 3 (đa người dùng, không có giao diện đồ họa), bạn nhập lệnh:

    sudo init 3

    Lệnh này sẽ chuyển hệ thống sang chế độ vận hành phù hợp cho server hoặc môi trường sử dụng giao diện dòng lệnh. Nếu bạn muốn chuyển hệ thống từ runlevel 3 sang runlevel 5 (đa người dùng với giao diện đồ họa), bạn sử dụng lệnh:

    sudo telinit 5

    Lệnh này sẽ kích hoạt chế độ giao diện đồ họa, thường dùng cho desktop hoặc workstation.

    Cách cài đặt mặc định runlevel

    • Nếu bạn muốn chọn runlevel mặc định là 5 (đa người dùng sử dụng giao diện đồ họa), hãy nhập:
    sudo systemctl set-default graphical.target

    Lệnh này sẽ cấu hình hệ thống khởi động với mục tiêu là desktop hoặc môi trường đồ họa mỗi khi bật máy.

    • Nếu bạn muốn chuyển mặc định sang runlevel 3 (đa người dùng, chỉ giao diện dòng lệnh), hãy nhập:
    sudo systemctl set-default multi-user.target

    Lệnh này sẽ đảm bảo hệ thống khởi động ở chế độ CLI, phù hợp cho server hoặc máy chủ làm việc với dòng lệnh.

    Câu hỏi thường gặp

    Khi nào nên dùng runlevel 1?

    Runlevel 1 phù hợp cho các tác vụ bảo trì quan trọng như sửa file hệ thống, khôi phục mật khẩu root hoặc khắc phục lỗi nghiêm trọng. Ở chế độ này chỉ có root đăng nhập, không mạng và không dịch vụ nền nên hạn chế tối đa rủi ro xung đột hay truy cập trái phép.

    Vì sao không nên đặt runlevel 0 làm mặc định khi khởi động?

    Runlevel 0 là trạng thái tắt hẳn hệ thống: mọi tiến trình bị dừng, dữ liệu được ghi xuống đĩa rồi tắt nguồn. Nếu đặt runlevel 0 làm mặc định, hệ điều hành sẽ tự tắt ngay sau khi khởi động xong, khiến máy không thể sử dụng bình thường và gây gián đoạn dịch vụ.

    Lý do server/VPS thường dùng runlevel 3 thay vì 5 là gì?

    Runlevel 3 chỉ chạy chế độ đa người dùng với giao diện dòng lệnh, không tải GUI nên tiết kiệm RAM, CPU và giảm bề mặt tấn công. Với server, tài nguyên cần ưu tiên cho dịch vụ nên chạy ở runlevel 3 giúp hiệu suất và độ ổn định cao hơn runlevel 5.

    Sự khác nhau giữa lệnh init và telinit khi đổi runlevel là gì?

    Cả hai lệnh đều dùng để yêu cầu hệ thống chuyển sang runlevel khác. init là lệnh gốc gắn với tiến trình init, còn telinit là một front-end giao tiếp với init để gửi yêu cầu thay đổi. Trên nhiều hệ thống, telinit chỉ là symlink tới init nên hành vi thực tế gần như tương đương nhau.

    Hiểu rõ runlevel giúp bạn nắm được cách Linux quản lý trạng thái hoạt động của hệ thống, từ đó kiểm soát quá trình khởi động, tắt máy hay chuyển đổi chế độ vận hành một cách chủ động và an toàn. Khi biết cách kiểm tra, thay đổi và áp dụng runlevel phù hợp, bạn có thể xử lý sự cố nhanh hơn, tối ưu tài nguyên và quản trị hệ thống hiệu quả hơn. Hy vọng qua bài viết này, bạn đã có nền tảng vững chắc để làm việc với runlevel và sẵn sàng áp dụng vào thực tế quản trị Linux hằng ngày.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Hướng chạy file Python trên Linux qua Terminal chi tiết, đơn giản
    Hướng chạy file Python trên Linux qua Terminal chi tiết, đơn giản

    Chạy file Python trên Linux là việc thực thi một chương trình được viết bằng Python thông qua Terminal hoặc trực tiếp như một file thực thi trên hệ điều hành Linux. Trong bài viết này, mình sẽ hướng dẫn bạn quy trình chuẩn để khởi tạo, biên tập và thực thi một chương trình…

    06/02/2026

    Hướng dẫn xóa thư mục khỏi Git trên Linux chi tiết
    Hướng dẫn xóa thư mục khỏi Git trên Linux chi tiết

    Trong quá trình làm việc với Git trên Linux, không ít trường hợp bạn cần loại bỏ một thư mục khỏi repository vì không còn sử dụng, chứa dữ liệu tạm thời hoặc không nên đưa lên source code. Tuy nhiên, Git không quản lý thư mục trống mà chỉ theo dõi từng file, nên…

    06/02/2026

    Phân biệt toán tử && vs semicolon bash trong Linux chi tiết
    Phân biệt toán tử && vs semicolon bash trong Linux chi tiết

    Trong Bash, && và semicolon (;) đều dùng để nối nhiều lệnh trên một dòng, nhưng có cách thực thi khác nhau. Cụ thể, dấu ; luôn thực thi lệnh tiếp theo dù lệnh trước thành công hay thất bại, còn && chỉ chạy lệnh sau khi lệnh trước thực thi thành công, giúp kiểm…

    06/02/2026

    7 cách để check local IP Linux chi tiết trên Debian/Ubuntu
    7 cách để check local IP Linux chi tiết trên Debian/Ubuntu

    Khi làm việc với server hoặc máy trạm, biết cách check local IP Linux giúp bạn chủ động trong việc cấu hình dịch vụ, phân tích lỗi mạng và tăng cường bảo mật cho hệ thống. Bài viết này sẽ hướng dẫn chi tiết nhiều cách kiểm tra IP cục bộ qua terminal trên Debian/Ubuntu,…

    06/02/2026

    linux

    system-linux

    text