Tại sao jessie Debian của tôi luôn ở trong runlevel 5?


7

Tôi đã cấu hình các dòng /etc/inittabnhư sau:

# The default runlevel.
id:2:initdefault:

Nhưng sau khi đăng nhập, đầu ra của runlevelnhư sau:

N 5

Vậy tại sao tôi ở runlevel 5 instaed 2?


Lưu ý: Như một thông tin bổ sung ở đây là uname -ađầu ra cho hệ thống của tôi

Linux d3bi4n 3.16.0-4-amd64 #1 SMP Debian 3.16.7-2 (2014-11-06) x86_64 GNU/Linux

và đầu ra của dpkg -S /sbin/init

systemd-sysv: /sbin/init

Bạn đang sử dụng SysVinit, phải không? Đầu ra của là dpkg -S /sbin/initgì?
Gilles 'SO- ngừng trở nên xấu xa'

Đó làsystemd-sysv: /sbin/init
Matthias

Câu trả lời:


10
$ dpkg -S /sbin/init
systemd-sysv: /sbin/init

Hệ thống init của bạn là Systemd, không phải SysVinit. /etc/inittablà một tệp cấu hình của SysVinit, nó không được Systemd sử dụng. Tôi đoán bạn có tập tin này bởi vì đây là một hệ thống jessie được nâng cấp từ một jessie trước đó hoặc từ sự khò khè với SysVinit.

Systemd không chính xác có một khái niệm về đường băng, mặc dù nó gần đúng với khả năng tương thích với SysVinit. Thay vào đó, Systemd có các đơn vị mục tiêu khác. Bạn có thể chọn đơn vị mục tiêu thời gian khởi động bằng cách đặt liên kết tượng trưng /etc/systemd/system/default.target. Xem Câu hỏi thường gặp về Systemd để biết thêm thông tin.

Nếu bạn không muốn sử dụng Systemd, hãy cài đặt sysvinit-coregói cung cấp SysVinit truyền thống (trước đây là trong sysvinitgói, mà trong jessie hiện là mặt trước cho systemd). Kể từ jessie, Debian mặc định là Systemd nhưng vẫn hỗ trợ SysVinit.


Bạn đã tìm ra nó. Tôi đã nâng cấp từ khò khè và không biết jessie sử dụng systemd. Tôi đã chuyển trở lại sysvinit (bây giờ) và nó hoạt động tốt. Cảm ơn!
Matthias

1

Bạn có thể có runlevel 5 được đặt trong dòng lệnh hoặc đối số kernel (xem cấu hình grub của bạn):

Bạn có thể ghi đè runlevel mặc định bằng tham số kernel. Khi menu khởi động được hiển thị, chọn tùy chọn chỉnh sửa. Sau đó xác định vị trí dòng kernel và nối thêm không gian và số runlevel mong muốn. Ví dụ: "kernel /boot/vmlinuz-2.6.30 root = / dev / sda2 ro 3" sẽ khởi động để runlevel 3. 


1

Nguồn: https://unix.stackexchange.com/a/164028/120177 , http://www.freedesktop.org/software/systemd/man/systemctl.html

Mở một thiết bị đầu cuối và (như root) chạy:

systemctl set-default multi-user.target

hoặc với - lực lượng

systemctl set-default -f multi-user.target

để ghi đè bất kỳ symlink xung đột hiện có1.

Kiểm tra kỹ với:

systemctl get-default

Một cách khác là thêm tham số sau vào dòng khởi động kernel của bạn:

systemd.unit=multi-user.target

đây là câu trả lời tương tự như unix.stackexchange.com/a/164028/120177 . Nhưng bạn đã quên liên kết đến freedesktop.org/software/systemd/man/systemctl.html
Evgeny Vereshchagin

Làm xong. Đã thêm các nguồn.
deppfx

0

Tôi đang tìm cách chạy trong Debian 8 tương tự như sử dụng với inittabhệ thống:

1:2345:respawn:/sbin/getty 38400 tty1

2:23:respawn:/sbin/getty 38400 tty2

3:23:respawn:/sbin/getty 38400 tty3

BPQ:2345:respawn:/home/bpq32/runbpq >/dev/tty4

nơi tôi có chương trình chạy đầu ra chuyển hướng runbpqđến/dev/tty4

Nhưng làm thế nào để làm điều này trong Debian 8 với systemd ??

Trân trọng


-1

Từ: https://wiki.debian.org/RunLevel

Cài đặt Debian mặc định không tạo ra bất kỳ sự khác biệt nào giữa các runlevels 2-5.


@matthias Sự hiểu biết của bạn là chính xác. Theo mặc định, Debian định cấu hình chính xác các dịch vụ tương tự để chạy trong runlevels 2, 3, 4 và 5. Tuy nhiên, số runlevel được theo dõi; các inittabdòng nên runlevel 2 mặc định.
Gilles 'SO- ngừng trở nên xấu xa'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.