"Runlevels" trên Linux là gì?

Mục lục:

"Runlevels" trên Linux là gì?
"Runlevels" trên Linux là gì?

Video: "Runlevels" trên Linux là gì?

Video:
Video: Hướng dẫn điều chỉnh độ phân giải màn hình Win 10 đơn giản - YouTube 2024, Tháng Mười
Anonim
Khi một hệ thống Linux khởi động, nó đi vào runlevel mặc định của nó và chạy các kịch bản khởi động kết hợp với runlevel đó. Bạn cũng có thể chuyển đổi giữa các runlevel - ví dụ, có một runlevel được thiết kế cho các hoạt động khôi phục và bảo trì.
Khi một hệ thống Linux khởi động, nó đi vào runlevel mặc định của nó và chạy các kịch bản khởi động kết hợp với runlevel đó. Bạn cũng có thể chuyển đổi giữa các runlevel - ví dụ, có một runlevel đượ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 hệ thống V - trong khi các hệ thống init mới cuối cùng sẽ lỗi thời các runlevel truyền thống, chúng vẫn chưa. Ví dụ, hệ thống Upstart của Ubuntu vẫn sử dụng các tập lệnh kiểu hệ thống kiểu V truyền thống.

Runlevel là gì?

Khi một hệ thống Linux khởi động, nó sẽ khởi động trong đó quy trình. init chịu trách nhiệm khởi chạy các quy trình khác trên hệ thống. Ví dụ, khi bạn khởi động máy tính Linux của bạn, hạt nhân khởi động init, và init thực hiện các kịch bản khởi động để khởi tạo phần cứng của bạn, đưa lên 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 hợp các tập lệnh khởi động duy nhất bắt đầu thực hiện. Có nhiều cấp độ chạy với tập lệnh khởi động riêng của họ - ví dụ, một runlevel có thể đưa lên mạng và khởi động màn hình đồ họa, trong khi runlevel khác có thể rời khỏi 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” sang “chế độ bảng điều khiển văn bản mà không cần kết nối mạng” bằng một lệnh duy nhất 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 script 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 script 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 khởi động hệ thống V truyền thống - Các bản phân phối Linux đang bắt đầu thay thế hệ thống khởi động hệ thống V cũ. Mặc dù Upstart của Ubuntu hiện duy trì khả năng tương thích với các tập lệnh init SysV nhưng điều này có thể sẽ thay đổi trong tương lai.
Ít nhất, đây là cách nó hoạt động với hệ thống khởi động hệ thống V truyền thống - Các bản phân phối Linux đang bắt đầu thay thế hệ thống khởi động hệ thống V cũ. Mặc dù Upstart của Ubuntu hiện duy trì khả năng tương thích với các tập lệnh init SysV nhưng điều này có thể sẽ thay đổi trong tương lai.

Runlevels

Một số runlevel là tiêu chuẩn giữa các bản phân phối Linux, trong khi một số runlevel khác nhau từ phân phối đến phân phối.

Các runlevel 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ế độ superuser mà không cần khởi động daemon hoặc 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ế độ đa người dùng đầy đủ với đăng nhập mạng và đồ họa. Trên Fedora và Red Hat, runlevel 2 cung cấp chế độ đa người dùng mà không cần kết nối mạng (giao diện điều khiển), runlevel 3 cung cấp chế độ đa người dùng với mạng (console login only), runlevel 4 không sử dụng và runlevel 5 cung cấp chế độ đa người dùng đă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ố lượng 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.

Image
Image

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

Bạn có thể chọn runlevel để khởi động từ bộ nạp khởi động - ví dụ: Grub. 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ó.

Image
Image

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

Image
Image

Theo truyền thống, bạn có thể chỉ định một số làm tham số hạt nhân và bạn sẽ khởi động vào runlevel đó - ví dụ: sử dụng 3 thay vì Độc thân để khởi động để 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 mới nhất của Ubuntu - Upstart dường như không cho phép nó. 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.

Trong khi trình nền Upstart 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 các dịch vụ khi sự kiện xảy ra (ví dụ, một dịch vụ có thể khởi động 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 của nó. để init, systemd.

Đề xuất: