From Fedora Project Wiki

No edit summary
No edit summary
(47 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{header|docs}}
{{header|docs}}
{{Docs_beat_open}}
{{Docs_beat_closed}}
{{Draft|Feel free to improve it. TY}}
= systemd =
'''systemd''' is the new system and service manager for Fedora 15. It provides: <!-- explain better -->
* '''aggressive parallelization capabilities using socket''': to speed up the entire boot and start more processes in parallel, systemd creates the listening sockets before actually starting the daemon, and then just passes the socket to it. All sockets for all daemons are created in one step in the init system, and then in a second step run all daemons at once. If a service needs another, and it is not fully started up, what will happen is that the connection is queued in the providing service and the client will potentially block on that single request. But only that one client will block and only on that one request. Also, dependencies between services no longer have to be configured to allow proper parallelized start-up: starting all sockets at once and a service needing another, it surely can connect to its socket.


* '''D-Bus activation for starting services''': using bus activation, a service can be started the first time it is accessed. Bus activation also gives the minimal per-request synchronisation needed for starting up the providers and the consumers of D-Bus services at the same time: starting a service at the same time as another, if one is quicker, than via the bus activation logic we can get D-Bus to queue the request until the otehr manages to establish its service name.
= Faster boot with host-only initramfs =
This Fedora release builds an initramfs tailored especially for your computer hardware, allowing faster boot. If you change your machine or significant hardware, you might have to boot with the "Rescue" boot entry and execute "dracut --regenerate-all". If you want your initramfs to be hardware independent, install the "dracut-nohostonly" rpm package. If you don't want rescue images at all (like in virtual machines), install the "dracut-norescue" rpm package.
* '''offers on-demand starting of daemons''':
 
* '''keeps track of processes using Linux cgroups''': kernel Control Groups or hierarchy of groups of processes. If a process in a specific cgroup forks, its child will become a member of the same group. Unless it is privileged and has access to the cgroup file system it cannot escape its group. cgroups let enforce limits on entire groups of processes. cgroups are also useful to enforce limits outside of the immediate container use case (e.g. limit the total amount of memory or CPU, Apache and all its children may use, so a misbehaving CGI script can no longer escape your resource control by simply forking away.) In addition to container and resource limit enforcement cgroups are very useful to keep track of daemons: cgroup membership is securely inherited by child processes, they cannot escape. There's a notification system available so that a supervisor process can be notified when a cgroup runs empty. You can find the cgroups of a process by reading /proc/$PID/cgroup. cgroups hence make a very good choice to keep track of processes for babysitting purposes.
 
* supports snapshotting and restoring of the system state: 
* maintains mount and automount points
* implements an elaborate transactional dependency-based service control logic.  
 
 
It can work as a drop-in replacement for sysvinit.
 
It is implemented around the notion of units. Units have a name and a type, whose configuration is in a file with the same name. There are several kinds of units:
service, socket, device, others.
 
 
== Why systemd? ==
 
 
== Its Features ==


= systemd =


== Its Benefits ==
== Modular service configuration with drop-in files ==
systemd will now look for configuration directives for a service as `/etc/sytemd/system/foobar.service.d/*.conf`, making site-specific changes easier to deploy and distribute .


== graphing the boot process ==
- systemd-analyze can now use the GraphViz `dot` tool to generate graphs of the boot process. GraphViz can be installed with `yum install graphviz` and will create a representation of the full boot process with `systemd-analyze dot | dot -Tsvg > systemd.svg` More refined plots can be generated with the optional arguments "--order" "--require" "--from-pattern=" and "--to-pattern="


For more details and examples, see `man 1 systemd-analyze`.


== PrivateTmp ==
Services with a PrivateTmp= directory defined in their configuration make use of a private temporary directory that is shared by all processes of the service. These temporary files are deleted when the service is stopped.
[[Category:Docs Project]]
[[Category:Docs Project]]
[[Category:Draft documentation]]
[[Category:Draft documentation]]
[[Category:Documentation beats]]
[[Category:Documentation beats]]

Revision as of 04:59, 8 May 2013

DocsProject Header docTeam1.png
Warning.png
Beat Closed on Wiki
Work on beats has now moved to git at https://pagure.io/fedora-docs/release-notes. If you have changes or additions, please contact the docs team via #fedora-docs, docs@lists.fedoraproject.org, or with the release-notes BZ component.


Faster boot with host-only initramfs

This Fedora release builds an initramfs tailored especially for your computer hardware, allowing faster boot. If you change your machine or significant hardware, you might have to boot with the "Rescue" boot entry and execute "dracut --regenerate-all". If you want your initramfs to be hardware independent, install the "dracut-nohostonly" rpm package. If you don't want rescue images at all (like in virtual machines), install the "dracut-norescue" rpm package.

systemd

Modular service configuration with drop-in files

systemd will now look for configuration directives for a service as /etc/sytemd/system/foobar.service.d/*.conf, making site-specific changes easier to deploy and distribute .

graphing the boot process

- systemd-analyze can now use the GraphViz dot tool to generate graphs of the boot process. GraphViz can be installed with yum install graphviz and will create a representation of the full boot process with systemd-analyze dot | dot -Tsvg > systemd.svg More refined plots can be generated with the optional arguments "--order" "--require" "--from-pattern=" and "--to-pattern="

For more details and examples, see man 1 systemd-analyze.

PrivateTmp

Services with a PrivateTmp= directory defined in their configuration make use of a private temporary directory that is shared by all processes of the service. These temporary files are deleted when the service is stopped.