Trang chủ » làm thế nào để » Những gì Run Runelsels trên Linux là gì?

    Những gì Run Runelsels trên Linux là gì?

    Khi một hệ thống Linux khởi động, nó sẽ chạy runlevel mặc định của nó và chạy các kịch bản khởi động được liên kết với runlevel đó. Bạn cũng có thể chuyển đổi giữa các đường băng - ví dụ: có một đường băng được thiết kế cho các hoạt động khôi phục và bảo trì.

    Theo truyền thống, Linux đã sử dụng các tập lệnh init kiểu V của Hệ thống - trong khi các hệ thống init mới cuối cùng sẽ lỗi thời với các đường băng truyền thống, nhưng chúng vẫn chưa có. Ví dụ: hệ thống khởi động của Ubuntu vẫn sử dụng các tập lệnh kiểu V hệ thống truyền thống.

    Runlevel là gì?

    Khi một hệ thống Linux khởi động, nó sẽ khởi chạy trong đó các quá trình. init có trách nhiệm khởi chạy các tiến trình khác trên hệ thống. Ví dụ: khi bạn khởi động máy tính Linux, kernel khởi động init và init thực thi các tập lệnh khởi động để khởi tạo phần cứng của bạn, khởi động mạng, khởi động máy tính để bàn đồ họa của bạn.

    Tuy nhiên, không chỉ có một tập lệnh khởi động init thực thi. Có nhiều cấp độ chạy với các tập lệnh khởi động riêng của chúng - ví dụ: một runlevel có thể kết nối mạng và khởi chạy màn hình đồ họa, trong khi một runlevel khác có thể khiến mạng bị vô hiệu hóa và bỏ qua màn hình đồ họa. Điều này có nghĩa là bạn có thể thả từ chế độ máy tính để bàn đồ họa của chế độ thành văn bản của chế độ điều khiển văn bản của chế độ văn hóa thành công mà không cần kết nối mạng bằng một lệnh, mà không cần khởi động và dừng các dịch vụ khác nhau theo cách thủ công.

    Cụ thể hơn, init chạy các tập lệnh nằm trong một thư mục cụ thể tương ứng với runlevel. Ví dụ: khi bạn nhập runlevel 3 trên Ubuntu, init sẽ chạy các tập lệnh nằm trong thư mục /etc/rc3.d.

    Ít nhất, đây là cách nó hoạt động với hệ thống init System V truyền thống - các bản phân phối Linux đang bắt đầu thay thế hệ thống init System V cũ. Mặc dù Upstart của Ubuntu hiện đang duy trì khả năng tương thích với các tập lệnh SysV init, nhưng điều này có thể sẽ thay đổi trong tương lai.

    Đường băng

    Một số đường băng là tiêu chuẩn giữa các bản phân phối Linux, trong khi một số đường băng thay đổi từ phân phối sang phân phối.

    Các runlevels sau đây là tiêu chuẩn:

    • 0 - Tạm dừng lại (Tắt hệ thống.)
    • 1 - Chế độ người dùng đơn (Hệ thống khởi động vào chế độ siêu người dùng mà không khởi động trình nền hoặc kết nối mạng. Lý tưởng để khởi động vào môi trường phục hồi hoặc chẩn đoán.)
    • 6 - Khởi động lại

    Runlevels 2-5 khác nhau tùy thuộc vào phân phối. Ví dụ, trên Ubuntu và Debian, runlevels 2-5 giống nhau và cung cấp chế độ nhiều người dùng với đăng nhập mạng và đồ họa. Trên Fedora và Red Hat, runlevel 2 cung cấp chế độ nhiều người dùng mà không cần kết nối mạng (chỉ đăng nhập bảng điều khiển), runlevel 3 cung cấp chế độ nhiều người dùng với mạng (chỉ đăng nhập bảng điều khiển), runlevel 4 không được sử dụng và runlevel 5 cung cấp chế độ nhiều người dùng với đăng nhập mạng và đồ họa.

    Chuyển sang Runlevel khác

    Để chuyển sang một runlevel khác trong khi hệ thống đang chạy, sử dụng lệnh sau:

    sudo telinit #

    Thay thế # bằng số runlevel bạn muốn chuyển sang. Bỏ qua sudo và chạy lệnh dưới dạng root nếu bạn đang chạy một bản phân phối không sử dụng sudo.

    Khởi động trực tiếp đến một Runlevel cụ thể

    Bạn có thể chọn một runlevel để khởi động từ bộ tải khởi động - Grub, ví dụ. Khi bắt đầu quá trình khởi động, nhấn một phím để truy cập Grub, chọn mục khởi động của bạn và nhấn e để chỉnh sửa nó.

    Bạn có thể thêm Độc thân đến cuối linux dòng để nhập runlevel người dùng đơn (runlevel 1). (Nhấn Ctrl + x để khởi động sau.) Điều này giống như tùy chọn chế độ khôi phục trong Grub.

    Theo truyền thống, bạn có thể chỉ định một số làm tham số kernel và bạn sẽ khởi động vào runlevel đó - ví dụ: bằng cách sử dụng 3 thay vì Độc thân để khởi động lên runlevel 3. Tuy nhiên, điều này dường như không hoạt động trên các phiên bản Ubuntu mới nhất - Upstart dường như không cho phép điều đó. Tương tự, cách bạn thay đổi runlevel mặc định sẽ phụ thuộc vào phân phối của bạn.


    Mặc dù trình nền khởi động của Ubuntu vẫn mô phỏng hệ thống init SystemV, phần lớn thông tin này sẽ thay đổi trong tương lai. Ví dụ: Upstart dựa trên sự kiện - nó có thể dừng và khởi động dịch vụ khi sự kiện xảy ra (ví dụ: dịch vụ có thể bắt đầu khi thiết bị phần cứng được kết nối với hệ thống và dừng khi thiết bị bị xóa.) Fedora cũng có người kế nhiệm riêng. để init, systemd.