首页 > 代码库 > Systemd on ubuntu
Systemd on ubuntu
何为 systemd?
systemd 是一个 Linux 下的系统和会话管理器,与 SysV 和 LSB 启动脚本兼容。systemd 提供了积极的并行处理能力,使用套接字(socket)和 D-bus 的激活启动服务,可使守护进程按需启动,使用 Linux 的 cgroups 保持对进程的追踪,支持对于系统状态的备份与恢复,维护手动和自动挂载点,实现了基于依赖关系的可执行服务控制逻辑。
更多信息可参见 systemd 主页。
个人软件包存档(PPA)地址
systemd 及相关软件包可在此 PPA 找到,要使用该 PPA,请按下面的方法将其加入到您的软件源列表当中:
add-apt-repository ppa:pitti/systemdapt-get update
安装Systemd
apt-get install systemd libpam-systemd systemd-ui
这会使 systemd 与 upstart 共存于系统中,如果您想把 upstart 整个替换掉,您需要另外安装 systemd-sysv 这个软件包,这个软件包提供的 reboot 等命令可将原来的程序提供的同样的命令替换掉。
引导装载程序的配置
在安装完 systemd 之后,计算机可能还是会默认以 upstart 启动,为了使系统以 systemd 使用,必须在 grub 配置文件中的 kernel 命令行指定下面的参数:
vim /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash init=/lib/systemd/systemd"
修改完配置后下命令需要使更改生效
update-grub
systemd 启动时如出现下面的警告信息
/etc/mtab is not a symlink or not pointing to /proc/self/mounts. This is not supported anymore. Please make sure to replace this file by a symlink to avoid incorrect or misleading mount(8) output.
那么,最好按照建议的那样去做,将 /etc/mtab 替换掉。否则不仅是 mount 会运行不正常,df也是一样,而且其他会查看挂载列表的程序也很可能出问题。可以像下面这样改:
ln -fs /proc/self/mounts /etc/mtab
systemd 的使用
启动
若以 systemd 无法正常启动,可以试一试在 grub 配置中的kernel一行加入下面的参数:
init=/lib/systemd/systemd systemd.unit=emergency.service
systemd.unit= 指定了系统要启动到的目标状态(与 sysvinit 指定运行级别相似)。
emergency.service 在虚拟终端启动一个紧急模式的 bash shell,并且不尝试启动任何其他服务。
启动后控制 systemd
控制 systemd 的主要命令是 systemctl。一些子命令如下:
systemctl list-units —— 列出所有单位(Unit,该术语表示“任务或服务”)
systemctl start [名称...] —— 启动(或激活)一个或多个单位
systemctl stop [名称...] —— 停止(或挂起)一个或多个单位
systemctl enable [名称...] —— 启用一个或多个单位
systemctl disable [名称...] —— 停用一个或多个单位
systemctl reboot —— 关闭或重新启动系统
如需查看整个命令列表,请参见 systemctl(1)的 man 手册页。
systemadm 是 systemctl 的图形用户界面前端。
Systemd on ubuntu