Fedora17中systemd系统和服务管理器

         systemd 是 Linux 下一个与 SysV 初始化脚本兼容的系统和服务管理器,使用 socket 和 D-Bus 来开启服务,提供基于守护进程的按需启动策略,可以用来管理启动的服务、调整运行级别、管理日志等等。

         为了加速整个系统启动和并行启动更多的进程,systemd 在实际启动守护进程之前创建监听 socket ,然后传递 socket 给守护进程。在系统初始化时,首先为所有守护进程创建 socket ,然后再启动所有的守护进程。如果一个服务因为需要另一个服务的支持而没有完全启动,而这个连接可能正在提供服务的队列中排队,那么这个客户端进程在这次请求中就处于阻塞状态。不过只会有这一个客户端进程会被阻塞,而且仅是在这一次请求中被阻塞。服务间的依赖关系也不再需要通过配置来实现真正的并行启动(因为一次开启了所有的 socket ,如果一个服务需要其他的服务,它显然可以连接到相应的 socket)。

         D-Bus 激活策略启动服务:通过使用总线激活策略,服务可以在接入时马上启动。同时,总线激活策略使得系统可以用微小的消耗实现 D-Bus 服务的提供者与消费者的同步开启请求。(同时开启多个服务,如果一个比总线激活策略中其他服务快就在 D-Bus 中排队其请求,直到其他管理确定自己的服务信息为止)。

     systemctl是最主要的工具。它融合 servicechkconfig 的功能于一体。你可以使用它永久性或只在当前会话中启用/禁用服务。下面的表格列出了systemd相关命令,及其相应于的sysVinit下的等价命令。


         /sbin/service 和 /sbin/chkconfig 在 systemd 环境下依然可以工作,并且在必要的情况下将会被翻译成原生的等效命令。

         Systemd 引入一个概念:目标。它的用途和运行级别类似,但是运行起来有一些不同。每一个目标使用名称而不是数字命名的,服务于一个特定的目的。一些目标通过继承另一个 目标然后添加其他额外服务来实现。也有一些 systemd 目标 模仿通常的 sysvinit 运行级别,于是您依然可以通过熟悉的telinit RUNLEVEL 来切换 目标。在纯净 Fedora 系统上运行级别 0, 1, 3, 5, 和 6; 与特定的 目标 之间存在 1:1 的映射关系。遗憾的是,对于用户自定义运行级别 2 和 4 没法实现类似的转换。如果您使用了这些运行级别,建议您用/etc/systemd/system/$YOURTARGET 的方式创建一个新的 systemd 目标,并以一个已有的运行级别作为基础 (您可以查看/lib/systemd/system/graphical.target 作为例子),创建一个目录/etc/systemd/system/$YOURTARGET.wants,然后符号链接您想要启用的额外服务到该目录下 (符号链接的服务位于/lib/systemd/system)。     

          开机时系统会启动一系列服务,这些信息从启动过程中我们无法看到,这时就可以使用systemctl来获得开机信息:

systemd-journald.service  loaded active running       Journal Service
systemd-logind.service    loaded active running       Login Service
systemd-...ollect.service loaded active exited        Collect Read-Ahead Data
systemd-...replay.service loaded active exited        Replay Read-Ahead Data
systemd-...unt-fs.service loaded active exited        Remount Root and Kernel File Systems
systemd-sysctl.service    loaded active exited        Apply Kernel Variables
systemd-...-setup.service loaded active exited        Recreate Volatile Files and Directories
systemd-...ssions.service loaded active exited        Permit User Sessions
systemd-...-setup.service loaded active exited        Setup Virtual Console
tcsd.service              loaded failed failed        LSB: Init script for TCSD
udev-settle.service       loaded active exited        udev Wait for Complete Device Initialization
udev-trigger.service      loaded active exited        udev Coldplug all Devices
udev.service              loaded active running       udev Kernel Device Manager
udisks2.service           loaded active running       Storage Daemon
upower.service            loaded active running       Daemon for power management
wpa_supplicant.service    loaded active running       WPA Supplicant daemon
xinetd.service            loaded active running       Xinetd A Powerful Replacement For Inetd
avahi-daemon.socket       loaded active listening     Avahi mDNS/DNS-SD Stack Activation Socket
cups.socket               loaded active running       CUPS Printing Service Sockets
dbus.socket               loaded active running       D-Bus System Message Bus Socket
这里只列出部分信息,状态为active表明处于活动状态,可以可到tcsd.service显示的fail,这是我们可以使用systemctl status tcsd.service来获得出错信息

tcsd.service - LSB: Init script for TCSD
      Loaded: loaded (/etc/rc.d/init.d/tcsd)
      Active: failed (Result: exit-code) since Tue, 25 Feb 2014 08:32:29 +0800; 27min ago
     Process: 633 ExecStart=/etc/rc.d/init.d/tcsd start (code=exited, status=4/NOPERMISSION)
      CGroup: name=systemd:/system/tcsd.service


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Fedora Linux 是一款基于Linux内核的操作系统,由Red Hat公司赞助开发和维护。它的历史可以追溯到1995年,当时Marc Ewing创建了一个名为Red Hat Linux的Linux发行版。2003年,Red Hat宣布停止对Red Hat Linux的支持和开发,将精力集在Red Hat Enterprise Linux上。但是,Red Hat在2003年推出了Fedora项目,作为Red Hat Linux社区发行版的继任者,为社区提供了一个开放的、稳定的、并且免费的Linux发行版。 Fedora的包管理器是dnf(Dandified Yum),它是yum的一个升级版本。dnf可以通过命令行或者图形化界面管理软件包,它可以自动处理软件包的依赖关系,也可以升级或者删除软件包。与yum相比,dnf有更快的速度、更好的解决依赖关系的能力和更易用的命令行参数。dnf的配置文件是/etc/dnf/dnf.conf,它包含了一些全局选项,例如缓存目录、软件源和GPG密钥等。 Fedora的软件包格式是RPM(Red Hat Package Manager),它是一种开放的标准格式,可以在很多Linux发行版使用。Fedora的软件源是由Fedora项目维护的,用户可以通过dnf命令行或者图形化界面访问软件源并安装软件包。Fedora的软件源包含了很多开源软件,例如GNOME桌面环境、LibreOffice办公套件、GCC编译器、Apache Web服务器等。此外,Fedora还包含了一些特定于Fedora的软件包,例如dnf、PackageKit、systemd等。 总之,Fedora是一个稳定、开放、易用的Linux发行版,它的包管理器dnf具有很好的依赖解决能力和易用的命令行参数,可以方便地管理软件包。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值