Linux systemd简述与运行级别设置(Linux mint18)

背景

       本人电脑是10多年前的神舟小本本(双核四线程,2G内存),Windows是带不动的,Linux也勉为其难,为了让系统更快点,因而研究把运行级别设置为终端模式(不带图形界面)。

       OS

jwllinux@jwlLinux ~ $  lsb_release -a

LSB Version:    core-9.20160110ubuntu0.2-ia32:core-9.20160110ubuntu0.2-noarch:cxx-3.0-ia32:cxx-3.0-noarch:cxx-3.1-ia32:cxx-3.1-noarch:cxx-3.2-ia32:cxx-3.2-noarch:cxx-4.0-ia32:cxx-4.0-noarch:cxx-4.1-ia32:cxx-4.1-noarch:security-9.20160110ubuntu0.2-ia32:security-9.20160110ubuntu0.2-noarch

Distributor ID: LinuxMint

Description:    Linux Mint 18 Sarah

Release:        18

Codename:       sarah

CPU

jwllinux@jwlLinux /lib/systemd/system $ lscpu

Architecture:          i686

CPU op-mode(s):        32-bit, 64-bit

Byte Order:            Little Endian

CPU(s):                4

On-line CPU(s) list:   0-3

Thread(s) per core:    2

Core(s) per socket:    2

Socket(s):             1

内存

jwllinux@jwlLinux /lib/systemd/system $ cat /proc/meminfo | grep -i memtotal | awk -F " " '{print $2/1024/1024 "GB"}'

1.89236GB

Systemd简述

       相信很多人都了解,最初的Linux启动1号进程为initd,后面发展成为systemd。Systemd为系统的启动和管理提供一整套的完整解决方案。其架构如下:

 

术语:

Uint:Systemd管理的一个资源单位就是Unit;

Target:一组管理的Unit就是Target;当启动某个target时,systemd就根据对应target的配置文件(如runlevel6.target启动其一组相互关联的Uint);

相关命令

       Systemd是一整套系统的启动和管理解决方案,因而相关命令繁多,参数众多。好在项目组提供systemd.index帮助手册,可以查阅systemd项目的所有manpages,请参阅man systemd.index。

与本文关联较大的常用命令有:

  • 获取默认的启动target

jwlLinux system # systemctl  get-default

multi-user.target

  • 获取当前的启动层级(prints the previous and current SysV runlevel if they are known.)

jwlLinux system # runlevel

N 3

启动层级说明:

       Linux 系统运行层级分为七个层级,分别用0~6表示;

Runlevel

Target

简述

0

poweroff.target

关机

1

rescue.target

安全模式

2, 3, 4

multi-user.target

多用户终端模式

5

graphical.target

图形模式

6

reboot.target

重启模式

  • 设置默认启动层级

jwlLinux system # systemctl  set-default runlevel3.target

Removed symlink /etc/systemd/system/default.target.

Created symlink from /etc/systemd/system/default.target to /lib/systemd/system/multi-user.target.

说明:

       从上面的日志可以看出(实际也是),systemd的默认配置目录为/etc/systemd/system/(系统管理模块)。但此目录的文件大部分是符号链接,直接的文件内容在/lib/systemd/system/目录;

jwlLinux system # ls -rlht /etc/systemd/system/default.target

lrwxrwxrwx 1 root root 37 Nov 27 14:35 /etc/systemd/system/default.target -> /lib/systemd/system/multi-user.target

 

  • 命令行模式下如何实现本地登录?

在设置runlevel为终端模式并重启后,读者会发现系统起来后全为黑屏,那该如何登录到自己的系统呢?有如下两种方式:

  1. ssh远程登录
  2. ttyN控制台终端(通过快捷键ctrl + alt + F1~F5唤醒)

其他系统说明

  1. Redhat 7以前的一号进程是initd,其相关配置为:

/etc/inittab

  1. Redhat7开始到后面也是使用systemd作为1号进程;

参考文献:

Systemd 入门教程:命令篇

猜你喜欢

转载自blog.csdn.net/zhaogang1993/article/details/110245652
今日推荐