systemd被设计用来改进sysvinit的缺点,它和ubuntu的upstart是竞争对手,预计会取代它们。systemd的很多概念来源于苹果的launchd。创始人Lennart是redhat员工,但systemd不是redhat项目。

systemd的目标是:尽可能启动更少进程;尽可能将更多进程并行启动。systemd尽可能减少对shell脚本的依赖。传统sysvinit使用inittab来决定运行哪些shell脚本,大量使用shell脚本被认为是效率低下无法并行的原因。systemd使用了Linux专属技术,不再顾及POSIX兼容,一度谣传Debian为了它的BSD项目将不会使用systemd。

天下武功,唯快不破,加速吧,Linux!

systemd安装

sudo pacman -Rcsn sysvinit syslog-ng
sudo pacman -S systemd systemd-arch-units systemd-sysvcompat

删除sysvinit,安装systemd-sysvcompat,我更喜欢这样一个纯的systemd环境。还有一个好处是可以不用设置内核启动参数init=/bin/systemd

系统升级的时候只给我用systemd-tools替代了udev,但没装管理工具包systemd,网络也没有,害得我不得不到别的机子上下好,再拷过来安装。

systemd服务管理

systemctl is-enabled .service #查询服务是否开机启动
sudo systemctl enable .service #开机运行服务
sudo systemctl disable .service #取消开机运行
sudo systemctl start .service #启动服务
sudo systemctl stop .service #停止服务
sudo systemctl restart .service #重启服务
sudo systemctl reload .service #重新加载服务配置文件
systemctl status .service #查询服务运行状态
systemctl --failed #显示启动失败的服务

systemctl命令取代了rc.d命令。

开机模块加载

/etc/modules-load.d/.conf,相当于原rc.conf中的MODULES变量

# Load virtio-net.ko at boot virtio-net
virtio-net

模块黑名单仍在/etc/modprobe.d/下,如blacklist.conf:

blacklist badmod.ko

Locale

/etc/locale.conf,相当于原rc.conf中的LOCALE

LANG=en_US.UTF-8 LC_COLLATE=C
LC_COLLATE=C

日志服务

systemd自带日志服务,参考systemd Journal

sudo journalctl

可以删除syslog-ng了

主机名

/etc/hostname,相当于原来rc.conf中的HOSTNAME变量

myhostname

网络

sudo systemctl enable NetworkManager.service

不象rc.conf有专门的配置简单网络的地方,还是用NetworkManager、wicd之类的工具吧

如果你坚持使用简单静态配置,可以参考[SOLVED] static ethernet setup under systemd?

运行级别

systemd用target替代了runlevel的概念,提供了更大的灵活性,如你可以继承一个已有的target,并添加其它服务,来创建自己的target

sudo systemctl list-units --type=target #查询当前target
sudo systemctl isolate graphical.target #改变当前target,重启无效
sudo systemctl enable multi-user.target #改变启动时默认target
sudo systemctl enable kdm.service #graphical是默认target,指定使用的display manager

优化

systemd有自己的”e4rat”

sudo systemctl enable systemd-readahead-collect.service sudo systemctl enable systemd-readahead-replay.service

/etc/fstab,修改/home分区options,检查/home分区时并行启动其它服务

defaults,noauto,x-systemd.automount

其他

sudo systemctl reboot #systemctl还有系统关机、重启、挂起等功能 sudo systemctl suspend

参考资源

systemd-Archlinux Wiki: 本文基本上可以说是此文的翻译

systemd on freedesktop: systemd官方文档,如欲进一步研究,比如service文件中各项含义等,请移步

采访 Systemd 和 PulseAudio 创始人 Lennart: Lennart是可有趣的人,文后链接中还能找到许多有用的文章

最新文章

  1. 拉风的服务器监控工具,随时掌握服务器动态,AgileEAS.NET SOA 平台服务器监控工具集介绍
  2. 如何用Java代码列出一个目录下所有的文件?
  3. Think_php入口文件配置
  4. Lotus中关于字符串处理的函数汇总
  5. 未能进入中断模式,原因如下:源文件“XXXXXX”不属于正在调试的项目。
  6. Python命名规范
  7. LINQ to SQL 建立实体类
  8. Android学习笔记-EditText(输入框)(一)
  9. 伽罗瓦域(有限域)GFq^12上元素的1→2→4→12塔式扩张(1)------第一次扩张
  10. mui点击加载,下拉刷新,上下整合代码
  11. Linux0.11进程分配时间片的策略
  12. 关于Oracle使用管理员账号登录失败的问题
  13. Postman安装与使用
  14. 15.scrapy模拟登陆案例
  15. MyBatis - 2.全局文件配置
  16. linux中一些简便的命令之cut
  17. 微信小程序笔记<三>入口app.js —— 注册小程序
  18. 实验二:ICMP重定向攻击
  19. [学习笔记]ST表
  20. System中关于Property的方法

热门文章

  1. Jquery获取radio单选按钮的value与后面的文字
  2. WordPress“无法将上传的文件移动至wp-content/uploads/”的解决办法
  3. HBase 入门笔记-数据落地篇
  4. spark集群安装[转]
  5. 【51nod】1655 染色问题
  6. 跟我一起学WPF(1):WPF的UI设计语言——XAML
  7. 安装CDM遇到的坑
  8. react篇章-React Props
  9. Json格式String类型字符串转为Map工具类
  10. IBM斥资340亿美元收购红帽