Difference between revisions of "Talk:Systemd"
(→Should the section "writing a custom .service" be expanded?) |
m (→systemd 204 and /bin/systemd: rm closed discussion) |
||
(46 intermediate revisions by 17 users not shown) | |||
Line 1: | Line 1: | ||
− | == | + | == Initscripts emulation == |
− | |||
− | |||
− | |||
− | I | + | Hi, I pushed the sysvinit rc.local facility to systemd. |
− | + | # cat /etc/systemd/system/multi-user.target.wants/rc-local.service | |
+ | [Unit] | ||
+ | Description=/etc/rc.local Compatibility | ||
+ | ConditionFileIsExecutable=/etc/rc.local | ||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | ExecStart=/usr/bin/bash /etc/rc.local | ||
+ | TimeoutSec=0 | ||
+ | StandardInput=tty | ||
+ | RemainAfterExit=yes | ||
− | + | The rc.local script displays (important) informations on the console and expects a validation with the return key. | |
− | + | # cat /etc/rc.local | |
+ | #!/bin/bash | ||
+ | echo IMPORTANT INFORMATIONS | ||
+ | read -s key | ||
− | + | The informations are well displayed on console but the graphic manager starts before the keyboard confirmation... | |
− | |||
− | + | Note that tty1 is disabled. | |
+ | # ll /etc/systemd/system/getty.target.wants/ | ||
+ | total 0 | ||
+ | -rw-r--r-- 1 root root 0 17 mars 12:52 getty@tty1.service | ||
+ | lrwxrwxrwx 1 root root 38 2 sept. 2012 getty@tty2.service -> /usr/lib/systemd/system/getty@.service | ||
+ | -rw-r--r-- 1 root root 0 17 mars 12:17 getty@tty4.service | ||
+ | -rw-r--r-- 1 root root 0 17 mars 12:17 getty@tty5.service | ||
+ | -rw-r--r-- 1 root root 0 17 mars 12:17 getty@tty6.service | ||
− | + | How can I start the graphic manager after the keyboard confirmation? <br> | |
− | + | -- [[User:Lacsap|Lacsap]], 18 March 2013 | |
− | |||
− | == Should | + | == Should the section "writing a custom .service" be expanded? == |
− | |||
− | + | I think so.. as long as I got, this is necessary to run self-made scripts during the boot process, but this is not clear and the structure of the files is not well presented. | |
− | ... | + | Moreover, when explain how to transit from the initscript, some referrals on how to move the old custom hooks in {{ic|/etc/rc.d/functions.d}} to be executed by systemd, should be made.<br> |
+ | -- [[User:DarioP|DarioP]] ([[User talk:DarioP|talk]]) 12:42, 18 November 2012 (UTC) | ||
− | + | :I think it needs to be expanded indeed. As a newbie, it is easy to grasp the concept of "put your code in rc.local", and it's not clear how to transition. Specific questions, as also mentioned by DarioP: In what directory should I place my service definition? On the examples page, there are some files named with an at-sign ({{ic|@}}), what difference does that make? It would be very helpful to have a complete example for running a single command at boot (my example: {{ic|echo noop > /sys/block/sdb/queue/scheduler}}). | |
− | + | :-- [[User:Fa2k|Fa2k]] ([[User talk:Fa2k|talk]]) 3 February 2013 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | - | ||
− | |||
− | |||
− | |||
− | : | ||
== Systemd defaults / to rshared, gotcha == | == Systemd defaults / to rshared, gotcha == | ||
Line 68: | Line 65: | ||
[[User:Compgamer89|Compgamer89]] ([[User talk:Compgamer89|talk]]) 07:16, 4 December 2012 (UTC) | [[User:Compgamer89|Compgamer89]] ([[User talk:Compgamer89|talk]]) 07:16, 4 December 2012 (UTC) | ||
+ | |||
+ | :You may find [http://cgit.freedesktop.org/systemd/systemd/commit/?id=b3ac5f8cb98757416d8660023d6564a7c411f0a0 this commit] useful. --[[User:David Strauss|David Strauss]] ([[User talk:David Strauss|talk]]) 22:58, 13 December 2012 (UTC) | ||
+ | |||
+ | ==systemd no longer supports initscripts== | ||
+ | http://cgit.freedesktop.org/systemd/systemd/commit/?id=53d05b44f17db67d644069600e4b5bbca88d21e7 <br> | ||
+ | -- [[User:D garbage|D garbage]] | ||
+ | |||
+ | : Please add your signature next time by typing four tildes ({{ic|<nowiki>~~~~</nowiki>}}) | ||
+ | : Anyway, I think it may be worth considering to remove all initscripts related sections. Initscripts has been unsupported for almost half a year now, whoever still hasn't switched is screwed anyway. About time this article gets a little shorter. Other opinions? | ||
+ | :-- [[User:65kid|65kid]] ([[User talk:65kid|talk]]) 10:16, 24 March 2013 (UTC) | ||
+ | |||
+ | ::Considering that, on multiple occasions, I've seen people come into the #archlinux channel on IRC and state that they haven't updated their systems for almost a year, I think we should keep this info in the wiki for a couple more months at least. | ||
+ | ::-- [[User:Jstjohn|Jstjohn]] ([[User talk:Jstjohn|talk]]) 19:53, 24 March 2013 (UTC) | ||
+ | |||
+ | :::To clarify what I said previously, I mean that we should keep the "migrating from initscripts to systemd" information around for a while. I have no problem with removing information about initscripts that is not in the context of migrating to systemd. | ||
+ | :::-- [[User:Jstjohn|Jstjohn]] ([[User talk:Jstjohn|talk]]) 18:39, 22 April 2013 (UTC) | ||
+ | |||
+ | ==Duplication of content in Native configuration section== | ||
+ | I don't remember if this topic has already been discussed here, but it seems to me that [[systemd#Native configuration]] is duplicating information that IMO better belongs to other articles: | ||
+ | *<s>[[systemd#Hostname]] and [[Network Configuration#Set the hostname]]</s> | ||
+ | *<s>[[systemd#Locale]] and [[Locale]] ([[Locale]] is not yet mentioning ''localectl'' though)</s> | ||
+ | *<s>[[systemd#Virtual console]] and [[KEYMAP]] ([[KEYMAP]] is not yet mentioning ''localectl'' though)</s> | ||
+ | *<s>[[systemd#Time zone]] and [[Time#Time Zone]]</s> | ||
+ | *[[systemd#Hardware clock]] and [[Time]] (this would be a good chance to update [[Time]]) | ||
+ | *[[systemd#Kernel modules]] and [[Kernel modules]] | ||
+ | *[[systemd#Automount]] and [[fstab]] | ||
+ | *[[systemd#LVM]] and [[LVM]] | ||
+ | |||
+ | I would suggest removing all these sections or replacing them with links to the reported articles, possibly merging any information that those articles are missing. | ||
+ | |||
+ | -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 16:16, 13 April 2013 (UTC) | ||
+ | : +1 for move them out. They are in a central page because at that time, initscripts is the only init supported. Now when a user want to know how to set up LVM, [[LVM]] is the natural target. Very few of them will ever go to [[Systemd]] and go to LVM section. -- [[User:Fengchao|Fengchao]] ([[User talk:Fengchao|talk]]) 12:52, 14 April 2013 (UTC) | ||
+ | |||
+ | ::Thanks, started with [[systemd#Hostname]], any help will be appreciated of course, I think there are also other sections that can be moved out. -- [[User:Kynikos|Kynikos]] ([[User talk:Kynikos|talk]]) 11:15, 15 April 2013 (UTC) | ||
+ | |||
+ | :::I just merged [[systemd#Virtual console]] into [[KEYMAP]].[https://wiki.archlinux.org/index.php?title=KEYMAP&diff=263832&oldid=259891] [https://wiki.archlinux.org/index.php?title=Systemd&diff=263833&oldid=263718] | ||
+ | :::-- [[User:Jstjohn|Jstjohn]] ([[User talk:Jstjohn|talk]]) 12:08, 22 June 2013 (UTC) | ||
+ | |||
+ | ==Section on Suspend/Resume Service Files== | ||
+ | I have the slight suspicion that the service files posted in the section [[Systemd#Suspend.2Fresume_service_files]] might not work. Has anybody tried them or is actually using them? <br> | ||
+ | -- [[User:Jakobh|jakobh]] [[User talk:Jakobh|✉]] 03:12, 10 May 2013 (UTC) |
Revision as of 17:11, 25 June 2013
Contents
Initscripts emulation
Hi, I pushed the sysvinit rc.local facility to systemd.
# cat /etc/systemd/system/multi-user.target.wants/rc-local.service [Unit] Description=/etc/rc.local Compatibility ConditionFileIsExecutable=/etc/rc.local [Service] Type=oneshot ExecStart=/usr/bin/bash /etc/rc.local TimeoutSec=0 StandardInput=tty RemainAfterExit=yes
The rc.local script displays (important) informations on the console and expects a validation with the return key.
# cat /etc/rc.local #!/bin/bash echo IMPORTANT INFORMATIONS read -s key
The informations are well displayed on console but the graphic manager starts before the keyboard confirmation...
Note that tty1 is disabled.
# ll /etc/systemd/system/getty.target.wants/ total 0 -rw-r--r-- 1 root root 0 17 mars 12:52 getty@tty1.service lrwxrwxrwx 1 root root 38 2 sept. 2012 getty@tty2.service -> /usr/lib/systemd/system/getty@.service -rw-r--r-- 1 root root 0 17 mars 12:17 getty@tty4.service -rw-r--r-- 1 root root 0 17 mars 12:17 getty@tty5.service -rw-r--r-- 1 root root 0 17 mars 12:17 getty@tty6.service
How can I start the graphic manager after the keyboard confirmation?
-- Lacsap, 18 March 2013
Should the section "writing a custom .service" be expanded?
I think so.. as long as I got, this is necessary to run self-made scripts during the boot process, but this is not clear and the structure of the files is not well presented.
Moreover, when explain how to transit from the initscript, some referrals on how to move the old custom hooks in /etc/rc.d/functions.d
to be executed by systemd, should be made.
-- DarioP (talk) 12:42, 18 November 2012 (UTC)
- I think it needs to be expanded indeed. As a newbie, it is easy to grasp the concept of "put your code in rc.local", and it's not clear how to transition. Specific questions, as also mentioned by DarioP: In what directory should I place my service definition? On the examples page, there are some files named with an at-sign (
@
), what difference does that make? It would be very helpful to have a complete example for running a single command at boot (my example:echo noop > /sys/block/sdb/queue/scheduler
). - -- Fa2k (talk) 3 February 2013
Still reading up on this, so I'm not 100% solid but I discovered during the systemd transition that it defaults the / mount to rshared (see Shared subtree for definitions). Excerpted from core/mount-setup.c in systemd github:
/* Mark the root directory as shared in regards to mount * propagation. The kernel defaults to "private", but we think * it makes more sense to have a default of "shared" so that * nspawn and the container tools work out of the box. If * specific setups need other settings they can reset the * propagation mode to private if needed. */ if (detect_container(NULL) <= 0) if (mount(NULL, "/", NULL, MS_REC|MS_SHARED, NULL) < 0) log_warning("Failed to set up the root directory for shared mount propagation: %m");
This means that all bind mounts made through fstab will default to shared behavior, not private. For those users who depend on non-recursive bind mounts, this can be a very big gotcha (as the mount propagation effectively nullifies the non-recursion). I think it should be at least noted under Filesystem Mounts, since fstab bind entries definitely may not preserve behavior across the systemd transition and there are definitely some systems that would fail to start up/operate properly due to this, perhaps even silently.
As a side note, for nested bind mounts this also results in multiplicative bloat of the mount table, depending on what kind of nesting structure is used (it's actually relatively easy to construct a nesting sequence that makes 2^n mounts out of n mount calls).
Still looking into good (and easy) configuration solutions.
Compgamer89 (talk) 07:16, 4 December 2012 (UTC)
- You may find this commit useful. --David Strauss (talk) 22:58, 13 December 2012 (UTC)
systemd no longer supports initscripts
http://cgit.freedesktop.org/systemd/systemd/commit/?id=53d05b44f17db67d644069600e4b5bbca88d21e7
-- D garbage
- Please add your signature next time by typing four tildes (
~~~~
) - Anyway, I think it may be worth considering to remove all initscripts related sections. Initscripts has been unsupported for almost half a year now, whoever still hasn't switched is screwed anyway. About time this article gets a little shorter. Other opinions?
- -- 65kid (talk) 10:16, 24 March 2013 (UTC)
Duplication of content in Native configuration section
I don't remember if this topic has already been discussed here, but it seems to me that systemd#Native configuration is duplicating information that IMO better belongs to other articles:
systemd#Hostname and Network Configuration#Set the hostnamesystemd#Locale and Locale (Locale is not yet mentioning localectl though)systemd#Virtual console and KEYMAP (KEYMAP is not yet mentioning localectl though)systemd#Time zone and Time#Time Zone- systemd#Hardware clock and Time (this would be a good chance to update Time)
- systemd#Kernel modules and Kernel modules
- systemd#Automount and fstab
- systemd#LVM and LVM
I would suggest removing all these sections or replacing them with links to the reported articles, possibly merging any information that those articles are missing.
-- Kynikos (talk) 16:16, 13 April 2013 (UTC)
- +1 for move them out. They are in a central page because at that time, initscripts is the only init supported. Now when a user want to know how to set up LVM, LVM is the natural target. Very few of them will ever go to Systemd and go to LVM section. -- Fengchao (talk) 12:52, 14 April 2013 (UTC)
- Thanks, started with systemd#Hostname, any help will be appreciated of course, I think there are also other sections that can be moved out. -- Kynikos (talk) 11:15, 15 April 2013 (UTC)
Section on Suspend/Resume Service Files
I have the slight suspicion that the service files posted in the section Systemd#Suspend.2Fresume_service_files might not work. Has anybody tried them or is actually using them?
-- jakobh ✉ 03:12, 10 May 2013 (UTC)