Laman » bagaimana untuk » Apakah Runlevels di Linux?

    Apakah Runlevels di Linux?

    Apabila sistem Linux boot, ia memasuki runlevel lalai dan menjalankan skrip permulaan yang berkaitan dengan runlevel tersebut. Anda juga boleh menukar antara runlevels - contohnya, terdapat runlevel yang direka untuk operasi pemulihan dan penyelenggaraan.

    Secara tradisinya, Linux menggunakan skrip init Sistem V-gaya - sementara sistem-sistem init baru akhirnya akan hilang usur jalan tradisional, mereka belum lagi. Sebagai contoh, sistem Upstart Ubuntu masih menggunakan skrip Sistem V tradisional.

    Apa itu Runlevel?

    Apabila sistem Linux boot, ia melancarkan di dalamnya proses. init bertanggungjawab untuk melancarkan proses lain pada sistem. Contohnya, apabila anda memulakan komputer Linux anda, kernel bermula init, dan init melaksanakan skrip permulaan untuk memulakan perkakasan anda, membuka rangkaian, mulakan desktop grafis anda.

    Walau bagaimanapun, tidak ada satu set skrip permulaan yang dijalankan oleh init. Terdapat pelbagai tahap run dengan skrip permulaan mereka sendiri - sebagai contoh, satu runlevel boleh memaparkan rangkaian dan melancarkan desktop grafik, sementara runlevel lain boleh meninggalkan rangkaian kurang upaya dan melangkau desktop grafis. Ini bermakna anda boleh jatuh dari "mod desktop grafik" ke "mod konsol teks tanpa rangkaian" dengan satu arahan, tanpa memulakan dan menghentikan perkhidmatan yang lain secara manual.

    Lebih khusus lagi, init menjalankan skrip yang terletak dalam direktori tertentu yang sepadan dengan runlevel. Sebagai contoh, apabila anda memasukkan runlevel 3 di Ubuntu, init menjalankan skrip yang terdapat dalam direktori /etc/rc3.d.

    Sekurang-kurangnya, ini adalah cara ia berfungsi dengan sistem Sistem Sistem V tradisional - pengedaran Linux mula menggantikan sistem Sistem Sistem V lama. Walaupun Upstart Ubuntu kini mengekalkan keserasian dengan skrip init SysV, ini mungkin akan berubah pada masa akan datang.

    The Runlevels

    Beberapa runlevels adalah standard antara pengagihan Linux, sementara beberapa runlevels berbeza dari pengedaran ke pengedaran.

    Runlevels berikut adalah standard:

    • 0 - Berhenti (Mematikan ke bawah sistem.)
    • 1 - Mod Pengguna Tunggal (Butang sistem ke dalam mod superuser tanpa memulakan daemon atau rangkaian. Ideal untuk boot ke persekitaran pemulihan atau diagnostik.)
    • 6 - Reboot

    Runlevels 2-5 bergantung kepada pengedaran. Sebagai contoh, pada Ubuntu dan Debian, runlevels 2-5 adalah sama dan menyediakan mod berbilang pengguna penuh dengan rangkaian dan log masuk grafik. Pada Fedora dan Red Hat, runlevel 2 menyediakan mod multi-pengguna tanpa rangkaian (log masuk konsol sahaja), runlevel 3 menyediakan mod berbilang pengguna dengan rangkaian (log masuk konsol sahaja), runlevel 4 tidak digunakan, dan runlevel 5 menyediakan mod berbilang pengguna dengan rangkaian dan log masuk grafik.

    Beralih ke Runlevel yang berbeza

    Untuk beralih ke runlevel yang berbeza semasa sistem sudah berjalan, gunakan perintah berikut:

    sudo telinit #

    Gantikan # dengan jumlah runlevel yang anda ingin beralih ke. Omit sudo dan jalankan perintah itu sebagai root jika anda menjalankan pengedaran yang tidak menggunakan sudo.

    Booting Secara Langsung kepada Runlevel Tertentu

    Anda boleh memilih runlevel untuk boot dari pemuat boot - Grub, sebagai contoh. Pada permulaan proses boot, tekan kekunci untuk mengakses Grub, pilih entri boot anda, dan tekan e untuk mengeditnya.

    Anda boleh menambah tunggal hingga ke akhir linux baris untuk memasuki runlevel pengguna tunggal (runlevel 1). (Tekan Ctrl + x untuk boot selepas.) Ini sama dengan pilihan mod pemulihan dalam Grub.

    Secara tradisinya, anda boleh menentukan nombor sebagai parameter kernel dan anda akan boot ke runlevel tersebut - contohnya, menggunakan 3 bukannya tunggal untuk boot ke runlevel 3. Walau bagaimanapun, ini tidak muncul untuk berfungsi pada versi terbaru Ubuntu - Upstart nampaknya tidak membenarkannya. Begitu juga, bagaimana anda menukar runlevel lalai akan bergantung pada pengedaran anda.


    Sedangkan daemon Upstart Ubuntu masih melancarkan sistem init SystemV, kebanyakan maklumat ini akan berubah pada masa akan datang. Sebagai contoh, Upstart adalah berasaskan peristiwa - ia boleh berhenti dan memulakan perkhidmatan apabila peristiwa berlaku (contohnya, perkhidmatan boleh bermula apabila peranti perkakasan disambungkan ke sistem dan berhenti apabila peranti dikeluarkan.) Fedora juga mempunyai pengganti sendiri kepada init, systemd.