1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-08 11:27:32 +03:00
Commit Graph

1013 Commits

Author SHA1 Message Date
Kay Sievers
57f2a956e6 split mount_point_is_api() and mount_point_ignore()
We should not handle the ignore list as API mounts, as
systemd itself never touches them.

On Thu, Nov 11, 2010 at 10:34, Andreas Jaeger <aj@novell.com> wrote:
>
> I noticed for some time that systemd-remount-api-vfs is in the
> failed state and found now the following in the log files
>
> systemd-remount-api-vfs[467]: /bin/mount for /proc/bus/usb exited with exit status 32.
> systemd-remount-api-vfs[467]: mount: /proc/bus/usb not mounted already, or bad option
> systemd[1]: systemd-remount-api-vfs.service: main process exited, code=exited, status=1
> systemd[1]: Unit systemd-remount-api-vfs.service entered failed state.
2010-11-11 11:15:16 +01:00
Andrey Borzenkov
5b396b06e0 vconsole: support additional keymap for toggling layouts
At least Mandriva offers configuring characters to toggle
keyboard layout independently from main keymap. This functions
much the same as XkbOptions for X11 and actually is configured
together. The patch adds support for additional keymap,
KEYMAP_TOGGLE, to /etc/vconsole.conf, that is intended to be
used for the same purpose.
2010-11-10 23:41:54 +01:00
Lennart Poettering
6ee5bbf85c main: warn if /etc/mtab is not a symlink 2010-11-10 23:18:34 +01:00
Ran Benita
42bb3074fe add bash completion for systemctl --system
I've been playing recently with systemd on Arch, and had much fun. But
soon, alas, my fingers started to ache from repeatedly writing
systemctl restart some-long-service.service. So, I wrote a completion
script. I figured other people may want to use it, so I prepared a
patch against systemd-git (attached).

There are some notes/disclaimers, however:

- It requires bash>=4.0, sed, grep and awk. A bash-completion package
is not strictly needed; sourcing the file is enough.
- It wouldn't work properly with --session, as I had no way to test it.
- It uses the output of systemctl list-units directly when that's
enough, but also runs systemctl show when completing on some verbs
(for example, to check for AllowIsolate=yes). This /may/ be somewhat
slow once there are many units, since it calls a dbus method on each
one. Is there a faster way to have that information?
- The code is perhaps a bit long and messy; honestly, I blame the tool ;)

One way to improve on the situation is to integrate some completion
code in systemctl itself, the way e.g. gdbus, gsettings and django do
it. This will allow for finer grained and faster completions, and it
won't be necessary to keep the verb/option tables in sync with some
other file. But it does mean adding all of this code in C. If this is
acceptable, I'll try to have a go at it.

Finally, a couple of completion tips I run into:
- If you alias systemctl to, say, sctl, you get completions on that
too by running to following command:
complete -F _systemctl sctl
- Add the following line to your .inputrc, to have the completion show
after only a single tab press:
set show-all-if-ambiguous on
It makes the shell quite more pleasant.

Hope it's good enough!

Ran
2010-11-10 23:02:44 +01:00
Lennart Poettering
f3b6a3edbc main: rename process on startup to 'systemd' to avoid confusion 2010-11-10 22:39:33 +01:00
Lennart Poettering
d257ddef22 unit: add ConditionNull= condition 2010-11-10 22:39:18 +01:00
Lennart Poettering
06cdd2484c ac-power: make ac-power a proper binary that scripts can call 2010-11-10 22:38:44 +01:00
Lennart Poettering
e9ddabc246 manager: parse RD_TIMESTAMP passed from initrd 2010-11-10 22:38:44 +01:00
Lennart Poettering
70ca520f43 modules-load: fix minor race 2010-11-10 22:38:43 +01:00
Lennart Poettering
dce8e2e123 label: use internal utility functions wher epossible 2010-11-10 22:38:43 +01:00
Lennart Poettering
e23a0ce8ba cryptsetup: minimal cryptsetup unit generator 2010-11-10 22:38:43 +01:00
Lennart Poettering
1829dc9dc5 selinux: relabel /dev after loading policy 2010-11-10 22:38:43 +01:00
Lennart Poettering
31a7034d38 log: downgrade syslog connection failure message since it might happen during normal operation 2010-11-10 22:38:43 +01:00
Lennart Poettering
2edfa36685 service: delay automatic restart if job is pending 2010-11-10 22:38:43 +01:00
Lennart Poettering
2ce5c8f9ab manager: when isolating undo all pending jobs, too 2010-11-10 22:38:43 +01:00
Lennart Poettering
143072edea manager: only minimize impact if we are in fail mode 2010-11-10 22:38:42 +01:00
Andrey Borzenkov
1e85f63615 do not overwrite other udev tags
Systemd was unconditionally replacing all tags with own.
The net effect was udev-acl tag was lost and devices were
not given proper ACLs, making them inaccessible.

Before:

{pts/0}% udevadm info --query property --name sr0
DEVNAME=/dev/sr0
[...]
TAGS=:systemd:
{pts/0}% getfacl /dev/sr0
getfacl: Removing leading '/' from absolute path names
# file: dev/sr0
# owner: root
# group: cdrom
user::rw-
group::rw-
other::---

After:

{pts/0}% udevadm info --query property --name sr0
DEVNAME=/dev/sr0
[...]
TAGS=:udev-acl:systemd:
{pts/0}% getfacl /dev/sr0
getfacl: Removing leading '/' from absolute path names
# file: dev/sr0
# owner: root
# group: cdrom
user::rw-
user:bor:rw-
group::rw-
mask::rw-
other::---

Signed-off-by: Andrey Borzenkov <arvidjaar@gmail.com>
2010-11-02 18:30:26 +01:00
Michael Biebl
c8bc83f5ea Revert "fsck: add new -l switch to fsck mount options"
The '-l' option is already taken by fsck.ext[234]:
  "-l bad_blocks_file   Add to badblocks list"

This reverts commit cf1a105550 but keeps
the string changes.
2010-10-31 23:30:17 +01:00
Lennart Poettering
cf1a105550 fsck: add new -l switch to fsck mount options 2010-10-31 00:40:13 +02:00
Kay Sievers
0f6aaf1bdd fsck: return SUCCESS when we skip the check 2010-10-29 21:05:00 +02:00
Kay Sievers
a84f519214 fsck: skip checking / if it is writable 2010-10-29 19:55:21 +02:00
Lennart Poettering
d91430063e mount: don't pull in nofail mounts by default, but use them if they are around 2010-10-29 16:28:30 +02:00
Lennart Poettering
e6a3ff9593 job: recursively fail BoundBy dependencies 2010-10-29 16:28:30 +02:00
Lennart Poettering
70f12d3708 fsck: fix target name to check for 2010-10-29 16:28:29 +02:00
Lennart Poettering
2a77d31df9 units: order units by default before appropriate targets in case they are pulled indirectly 2010-10-29 16:28:29 +02:00
Lennart Poettering
ead8e4788e unit: get rid of gnoreDependencyFailure= instead treat ConflictedBy= as weaker counterpart of Conflicts=, similar to Wants= vs. Requires= 2010-10-29 16:28:27 +02:00
Lennart Poettering
b81884e746 unit: replace StopRetroactively= by BindTo= dependencies
The property StopRetroactively= needs to be per-dependency, not
per-unit, in order to properly express dependencies between .mount units
and its .device and fsck .service units. If the .device unit is
unplugged the mount should go away, but if the fsck process terminates
the .mount should stay.
2010-10-29 00:45:46 +02:00
Lennart Poettering
941a4041bd automount: show who's triggering an automount 2010-10-28 22:20:01 +02:00
Lennart Poettering
9feeba4bbb systemctl: always show what and where for mount units in status output 2010-10-28 22:11:45 +02:00
Lennart Poettering
ab58e29119 shutdown: reword a few messages a little 2010-10-28 22:11:26 +02:00
Lennart Poettering
28c3247e79 manager: show which jobs are actually installed after a transaction 2010-10-28 04:05:09 +02:00
Lennart Poettering
b363ca6f20 timer: when deserializing timer state stay elapsed when we are elapsed 2010-10-28 04:04:50 +02:00
Lennart Poettering
f14e15f8af unit: replace recursive_stop by stop_retroactively to simplify things a little 2010-10-28 03:38:52 +02:00
Lennart Poettering
799fd0fd23 service: unify tstamp serialization code 2010-10-28 03:16:03 +02:00
Lennart Poettering
18f593360b device: set recursive_stop=true by default 2010-10-28 03:15:44 +02:00
Lennart Poettering
8aaf019b5c unit: suppress incorrect deserialization errors 2010-10-28 02:19:21 +02:00
Lennart Poettering
008d348edd swap: there's no reason not order swap after sysinit, so drop it 2010-10-28 01:30:13 +02:00
Andrey Borzenkov
f89f1e8f83 socket: fix IPv6 availability detection
If IPv6 is loaded with disable=1, any IPv6 functionality is completely
disabled until the ipv6 module is reloaded. Do not assume IPv6 is available just
because the module is present. Fixes startup error:

Oct 27 20:58:02 cooker kernel: IPv6: Loaded, but administratively disabled, reboot required to enable
Oct 27 20:58:02 cooker kernel: systemd[1]: Set hostname to <cooker>.
Oct 27 20:58:02 cooker kernel: systemd[1]: Netlink failure for request 2: Operation not supported
Oct 27 20:58:02 cooker kernel: systemd[1]: Failed to configure loopback device: Operation not supported
2010-10-28 00:37:57 +02:00
Lennart Poettering
5c0532d1cc mounts: automatically create /dev/stderr and friends early on boot so that they are around when we run shell scripts before udevd 2010-10-27 05:47:48 +02:00
Lennart Poettering
c4dcdb9f47 selinux: automatically load policy if the initrd hasn't done this for us yet 2010-10-27 05:47:02 +02:00
Lennart Poettering
ade509ce73 main: move make_null_stdio() to util.c 2010-10-27 05:45:57 +02:00
Lennart Poettering
4fbf50b38e service: when after startup only one process is in a service's cgroup, assume it is the main process 2010-10-27 03:16:49 +02:00
Lennart Poettering
10717a1a8d unit: serialize active timestamps 2010-10-27 00:01:12 +02:00
Lennart Poettering
510051fc12 swap: add only swaps listed in /etc/fstab automatically to swap.target, others should be added via .wants/ links 2010-10-26 22:58:54 +02:00
Lennart Poettering
da8f9f8cff errors: refer to systemctl status when useful 2010-10-26 22:40:02 +02:00
Lennart Poettering
f1a1cd6497 swap: add default cgroup to swap exec env 2010-10-26 22:06:11 +02:00
Lennart Poettering
15412f2987 swap: expose swap exec env proprties via dbus 2010-10-26 22:05:52 +02:00
Lennart Poettering
de58283f71 readahead: bump a device's request_nr when enabling readahead 2010-10-26 21:28:39 +02:00
Lennart Poettering
415dbd2e54 shutdown: properly handle sigtimedwait() timing out 2010-10-26 20:51:15 +02:00
Lennart Poettering
57b63f363f exec: fix dbus exposure of UtmpIdentifier field 2010-10-26 20:45:43 +02:00
Andrey Borzenkov
87d1969bb3 main: fix typo in kernel cmdline parameters help 2010-10-26 20:07:12 +02:00
Mike Kazantsev
0320828cac service: fix sysv-less build 2010-10-26 15:18:13 +02:00
Lennart Poettering
b9ba604e87 ask-password-tty: properly handle SIGINT/SIGTERM 2010-10-26 15:15:00 +02:00
Lennart Poettering
501fc174c2 systemctl: automatically spawn temporary password agent when we might need one 2010-10-26 05:29:39 +02:00
Lennart Poettering
0ddf1d3aa5 ask-password: properly handle multiple pending passwords when writing wall msg 2010-10-26 04:45:27 +02:00
Lennart Poettering
e5ebf783cb ask-password: add minimal plymouth password agent 2010-10-26 04:35:25 +02:00
Lennart Poettering
9865f3b4ca service: make sure to pass TERM=linux to all sysv scripts 2010-10-26 02:32:42 +02:00
Lennart Poettering
39439087bf main: don't unset HOME/TERM when run in session mode 2010-10-26 02:32:02 +02:00
Michael Biebl
9279749b84 umount: Make sure / is remounted ro on shutdown
Increment n_failed in mount_points_list_umount() if we skip /.
Otherwise it can happen that mount_points_list_remount_read_only() is
not called in umount_all().
2010-10-25 21:51:57 +02:00
Andrew Edmunds
274914f991 util: Add welcome message for Ubuntu
The approved method for determining the installed release of
Ubuntu is to execute "lsb_release".  However, this is in /usr/bin and
is implemented in python so it is not safe to execute at this early
stage of booting.  This code parses /etc/lsb-release which is
where "lsb_release" looks for the information.
2010-10-25 21:10:05 +02:00
Andrew Edmunds
858dae181b ubuntu: Treat Ubuntu as a distinct distro in configure.ac etc
Previously Ubuntu was treated as being equivalent to Debian, but the two
distributions require different behaviour in certain places.  This commit does
not change the behaviour of systemd on either distro but it creates a
framework for changes to be introduced by later commits.

The following previously meant "Target is Debian or Ubuntu".
    * configure option "--with-distro=debian"
    * C preprocessor symbol "TARGET_DEBIAN"
    * Automake conditional "TARGET_DEBIAN"
After this commit, all of the above are redefined to mean "Target is Debian"

The following are introduced to mean "Target is Ubuntu".
    * configure option "--with-distro=ubuntu"
    * C preprocessor symbol "TARGET_UBUNTU"
    * Automake conditional "TARGET_UBUNTU"

Most code written for Debian will also be applicable to Ubuntu. An extra
Automake conditional "TARGET_DEBIAN_OR_UBUNTU" is introduced to avoid
duplication of code that would otherwise occur.

This commit updates configure.ac, Makefile.am and distro-specific source files
in line with the above definitions.
2010-10-25 21:09:56 +02:00
Lennart Poettering
1104f3c160 systemd: unset HOME and TERM set from the kernel 2010-10-25 21:05:04 +02:00
Lennart Poettering
ec863ba65a ask-password: add basic tty agent 2010-10-25 20:36:01 +02:00
Lennart Poettering
d674a4ab52 ask-password: rename ask-password-agent to gnome-ask-password-agent 2010-10-22 16:38:14 +02:00
Lennart Poettering
ef1de59b5e fsck: suppress error message if we cannot change into single user mode since we are already passt early bootup 2010-10-22 16:12:56 +02:00
Lennart Poettering
288c783a9d dbus: epose FsckPassNo property for service objects 2010-10-22 16:12:26 +02:00
Lennart Poettering
8a0867d6c5 systemctl: introduce systemctl kill 2010-10-22 16:11:50 +02:00
Tom Gundersen
95e501f8ab unit-name: Fix unescaping
Invalid characters in unit names are escaped as \xFF. However, when
unescaping we were looking for \FF.
2010-10-21 14:04:10 +02:00
Gustavo Sverzut Barbieri
abe35cc2b7 tmpfiles: consider TRUNCATE_DIRECTORY as well.
reorder lines to match the enum declaration.
2010-10-21 13:53:47 +02:00
Kay Sievers
51ccf641d7 fsck: drop -C from fsck cmdline to avoid EPIPE 2010-10-21 12:22:30 +02:00
Lennart Poettering
9fc507041e unit: introduce %f specifier to decode file names 2010-10-20 16:16:45 +02:00
Lennart Poettering
417e842dc3 mount: pull in quotacheck.service, not quotacheck.target 2010-10-20 15:21:44 +02:00
Lennart Poettering
0355825f59 mount: require fsck 2010-10-20 15:21:05 +02:00
Lennart Poettering
1f5558b499 manager: properly parse finish timestamp 2010-10-20 14:41:07 +02:00
Lennart Poettering
f2382a94e0 manager: properly write header marker on serialization 2010-10-20 14:40:44 +02:00
Lennart Poettering
b65a25f256 mount: do not implicitly pull in fsck service for root dir 2010-10-20 14:26:46 +02:00
Lennart Poettering
2ba545f1a0 service: implement FsckPassNo= option 2010-10-20 14:22:23 +02:00
Lennart Poettering
dcdf86bbb0 log: reopen console so that we have logging on shutdown 2010-10-20 00:56:26 +02:00
Lennart Poettering
dc8e15c206 fsck: don't be idempotent for root directories 2010-10-20 00:44:09 +02:00
Lennart Poettering
6e8ebcc7de fsck: make fsck idempotent 2010-10-19 23:47:12 +02:00
Lennart Poettering
a9e1f5ec36 fsck: properly hook in fsck everywhere, add special support for fsck'ing root dir 2010-10-19 23:45:18 +02:00
Lennart Poettering
90bb85e140 fsck: atomically replace base.target by rescue.target/reboot.target when fsck fails 2010-10-19 21:53:19 +02:00
Lennart Poettering
3e33a44a01 fsck: be verbose when skipping fsck due to missing AC 2010-10-19 21:22:47 +02:00
Lennart Poettering
3d20ed6d51 fsck: add initial version of fsck and quotacheck wrappers 2010-10-19 21:19:12 +02:00
Lennart Poettering
688c672501 systemctl: fix counting in list-units output
https://bugzilla.redhat.com/show_bug.cgi?id=643502
2010-10-19 19:43:47 +02:00
Lennart Poettering
29003cffa7 tmpfiles: destruct selinux database after use 2010-10-19 19:36:45 +02:00
Lennart Poettering
d2dfce17b5 label: don't fail miserably if filesystem doesn't do xattrs/labels
https://bugzilla.redhat.com/show_bug.cgi?id=642664
2010-10-19 19:35:35 +02:00
Lennart Poettering
4e4343146a swap: listen for POLLPRI events on /proc/swaps if available 2010-10-18 23:09:09 +02:00
Lennart Poettering
5a33f657b5 label: if the selinux policy knows no label, then silently don't do anything 2010-10-18 22:47:57 +02:00
Lennart Poettering
e472d47628 util: ignore quota files by default 2010-10-18 22:39:17 +02:00
Lennart Poettering
47a483a1ab manager: serialize/deserialize finish timestamp 2010-10-18 22:39:06 +02:00
Lennart Poettering
3b63d2d31d tmpfiles: integrate kay's directory cleanup code and otherwise beef up tmpfiles quite a bit 2010-10-18 22:38:41 +02:00
Lennart Poettering
12aad1d075 shutdown: loop only as long as we manage to unmount/detach devices, give up immediately when we are stuck 2010-10-14 18:55:04 +02:00
Lennart Poettering
2d9a339782 umount: disable dm devices by devnode, not by path name 2010-10-14 18:17:23 +02:00
Lennart Poettering
b4f27ccc63 systemctl: accept -f as short for --force 2010-10-14 03:19:13 +02:00
Lennart Poettering
d48141ba0b umount: try to get rid of DM devices 2010-10-14 02:33:09 +02:00
Lennart Poettering
2ca1b42253 shutdown: log to console by default 2010-10-14 01:27:31 +02:00
Fabiano Fidencio
bec9996d6a vala: register new D-Bus calls 2010-10-14 00:56:50 +02:00
Lennart Poettering
20b09ca7fd systemctl: rework halt/reboot/poweroff/kexec/exit logic around --force 2010-10-14 00:56:12 +02:00
Lennart Poettering
0003d1ab75 manager: hookup shutdown helper and signals 2010-10-14 00:54:48 +02:00
Lennart Poettering
6652a2b9e5 dbus: expose shutdown helper via D-Bus 2010-10-14 00:53:51 +02:00
Fabiano Fidencio
b9080b03a9 manager: hookup execution of systemd-shutdown helper
(Modified by Lennart Poettering)
2010-10-14 00:52:26 +02:00
Lennart Poettering
e61cd18666 shutdown: make use of wait_for_terminate_and_warn() 2010-10-14 00:50:11 +02:00
Lennart Poettering
d37fb98bbc shutdown: execute rescue kill only once 2010-10-14 00:49:53 +02:00
Lennart Poettering
567ea02a89 shutdown: don't chdir to /, since init is running with / as cwd anyway 2010-10-14 00:49:22 +02:00
Lennart Poettering
7e23b34c7d umount: be a bit more verbose when unable to umount/unswap/delete loopbacks 2010-10-14 00:43:35 +02:00
Lennart Poettering
ce726252a9 umount: simplify code for deactivating loop devices 2010-10-14 00:43:13 +02:00
Lennart Poettering
b854a7e728 umount: properly enumerate loopback devices 2010-10-14 00:42:44 +02:00
Lennart Poettering
2054a5b8cb umount: unescape path from /proc/self/mountinfo first, then check against api mount list 2010-10-14 00:41:57 +02:00
Lennart Poettering
f23c09b0fd condition: fix copyright 2010-10-14 00:40:39 +02:00
Lennart Poettering
491ad5dc66 mount: pull in fsck only in systemd instances 2010-10-13 17:18:36 +02:00
Lennart Poettering
9fff8a1f16 mount: hook in q fsck@.service instance for all mount points with passno > 0 2010-10-13 03:57:04 +02:00
Lennart Poettering
560d8f2381 systemctl: warn if user enables unit with no installation instructions 2010-10-13 03:13:23 +02:00
Lennart Poettering
2cccbca4fd dbus: add introspection to midlevel paths 2010-10-13 03:03:31 +02:00
Lennart Poettering
37072578da lookup: look for dynamic throw-away units in /dev/.systemd/system 2010-10-13 02:34:21 +02:00
Lennart Poettering
f601daa701 inotify: properly handle multiple inotify events per read() 2010-10-13 02:34:00 +02:00
Lennart Poettering
52661efd21 unit: add minimal condition checker for unit startup 2010-10-13 02:15:41 +02:00
Lennart Poettering
e04aad61bb swap: major rework, use /sbin/swapon for setting up swaps, fix merging of aliased swap disks 2010-10-12 04:08:04 +02:00
Lennart Poettering
60b912f6b1 mount: minor cleanups 2010-10-12 04:08:04 +02:00
Lennart Poettering
538da63d53 systemctl: drop [] around date in status output 2010-10-12 04:08:04 +02:00
Lennart Poettering
4a9e2fffdf systemctl: show whether we follow somebody in 'status' output 2010-10-12 04:08:01 +02:00
Lennart Poettering
50caaedb2c service: introduce Restart=on-failure and Restart=on-abort 2010-10-08 18:34:54 +02:00
Lennart Poettering
c8f26f42e2 util: don't specifically check for the /dev/null major/minor, just check whether something is a char or block device 2010-10-08 18:22:28 +02:00
Lennart Poettering
6daf4f9001 unit: rename 'banned' load state to 'masked' 2010-10-08 18:21:52 +02:00
Lennart Poettering
169c1bda80 service: optionally, create INIT_PROCESS/DEAD_PROCESS entries for a service
This should fix accounting for pam_limits and suchlike.

https://bugzilla.redhat.com/show_bug.cgi?id=636036
2010-10-08 16:07:50 +02:00
Lennart Poettering
b9c0d4415b systemctl: fix 'systemctl enable getty@.service' 2010-10-08 03:09:25 +02:00
Lennart Poettering
f34277d911 service: increase default timeout for sysv scripts to 3min
For SysV services we cannot set the timeout inside the configuration
file. Hence let's pick a large timeout by default.

https://bugzilla.redhat.com/show_bug.cgi?id=635393
2010-10-08 02:49:44 +02:00
Lennart Poettering
40b8a33210 mount: properly handle NULL fstype
https://bugzilla.redhat.com/show_bug.cgi?id=636752
2010-10-08 02:43:08 +02:00
Lennart Poettering
00dc5d769a unit: introduce 'banned' load state for units symlinked to /dev/null 2010-10-08 02:31:36 +02:00
Lennart Poettering
4a8a5b2963 user-sessions: properly unlink both nologin files 2010-10-07 23:16:48 +02:00
Lennart Poettering
e92787416c user-sessions: add minimal utility to kill user sessions that shall be called before destroying services on shutdown 2010-10-07 22:38:40 +02:00
Lennart Poettering
83d8b7c179 shutdown: drop last referral to mp->read_only 2010-10-07 20:47:26 +02:00
Lennart Poettering
143b4e9b8d shutdown: drop redundant read_only bool var 2010-10-07 20:46:35 +02:00
Lennart Poettering
ef9ffbd806 shutdown: create /var/run/nologin instead of /etc/nologin which is supported since PAM 1.1.2 2010-10-07 20:46:02 +02:00
Lennart Poettering
3c14d26c47 util: unify implementations of freeze() 2010-10-07 19:34:56 +02:00
Fabiano Fidencio
b1b2a107d1 shutdown: Adding binary to shutdown the system
This functions are working as follows:
   - Send a SIGTERM to all processes that may be finished
   - Send a SIGKILL to all processes that still live and may be finished
   - Try to unmount all mount points
   - Try to remount read-only all mount points that can't be umounted
   - Umount all swap devices
   - Umount and detach all loopback devices
   - Call [poweroff|halt|reboot|kexec]

TODO:
   - Umount device-mapper.
   - Make log work. So far it is being useless as we do not parse
     /etc/systemd/system.conf, kernel command line but just
     environment, however we're executed by init and thus have no
     useful variables. Forcing it to target=kmsg/console and
     level=debug also does not produce any output, however writing to
     /dev/console does work (hack used during debug).
2010-10-07 19:23:46 +02:00
Fabiano Fidencio
e347837975 umount: Adding unmount functions to be used in shutdown
This functions will:
   - umount all mount points that aren't API
   - remount read-only all mount points that can't be umounted
   - umount all swap devices.
   - detach all loopback devices

TODO:
   - umount dms

Mountpoints are being read from /proc/self/mountinfo.
Swaps are being read from /proc/swaps.
Loop devices from /sys/class/block/loop*.
2010-10-07 19:23:26 +02:00
Fabiano Fidencio
3846aeeba2 util: Adding a strneq, to represent (!strncmp(a, b, n))
As we have streq to repesent (strcmp(a, b) == 0),I'm adding
strneq to represent (strncmp(a, b, n) == 0), that will be used
in umount.c (at least).
2010-10-07 19:22:11 +02:00
Lennart Poettering
b7f426649b sd-daemon: in some places sizeof(sa_family_t) actually does make sense 2010-10-07 19:01:26 +02:00
Lennart Poettering
0e098b15c7 util: never use sizeof(sa_family_t) when calculating sockaddr sizes 2010-10-07 02:34:17 +02:00
Lennart Poettering
e983b76024 manager: notify plymouth about progress if it is running 2010-10-06 03:55:49 +02:00
Lennart Poettering
71fad67514 systemctl: require correctly formed unit names when enabling units 2010-10-06 02:33:40 +02:00
Matthias Schiffer
0b021426fb timer: Add missing break in switch 2010-10-05 23:28:13 +02:00
Fabiano Fidêncio
1ddff895f3 mount: Don't stop the mountinfo parser if one line can't be read
The current behavior of the /proc/self/mountinfo parser
is to stop the parser on parse failures

I'm only changing this behavior to try the next line and adding
a warning if occurs a fail.
2010-10-05 22:26:28 +02:00
Lennart Poettering
1bc5d57ae3 notify: fix include properly 2010-10-05 21:52:37 +02:00
Dave Reisner
c899f8c61a fix typo: s/seperat/separat/g 2010-10-05 21:50:56 +02:00
Lennart Poettering
7607fea6a1 readahead: fix printf format string 2010-10-05 21:49:17 +02:00
Lennart Poettering
f031e85fc0 notify: add missing include 2010-10-05 21:49:01 +02:00
Mike Kelly
df37291a51 unit-name: fix unit name escaping
we want to do a bitwise shift, not a greater-than comparision
2010-10-05 21:23:30 +02:00
Lennart Poettering
525ee6f4a1 service: rename settings for Restart= from 'restart-always' to 'always' and similar 2010-10-05 20:30:44 +02:00
Lennart Poettering
d0b4880988 sd-daemon: split off sd_readahead() since it is not a feature of systemd itself but of an auxiliary tool 2010-10-05 20:20:38 +02:00
Lennart Poettering
a55da3cd5e mount: sort network mounts after network.target by default 2010-10-05 19:50:00 +02:00
Lennart Poettering
f976f3f67c socket: make sockets to pass to a service configurable 2010-10-05 19:50:00 +02:00
Lennart Poettering
d9ff321ad9 socket: make service to start on incoming traffic configurable 2010-10-05 19:50:00 +02:00
Lennart Poettering
0840ce2d49 readahead: ignore deleted files 2010-10-05 19:50:00 +02:00
Lennart Poettering
5b61848df2 readahead: minor 32bit fixes 2010-09-30 18:06:02 +02:00
Andreas Jaeger
010004791c tmpfiles: fix typo in comment 2010-09-29 10:08:24 +02:00
Lennart Poettering
bdb0e14d27 readahead: preload pack file 2010-09-29 03:11:35 +02:00
Lennart Poettering
43be53513a readahead: make sure /dev/.systemd/readahead exists 2010-09-29 02:55:40 +02:00
Kay Sievers
dd36de4d52 parse_env_file() - return empty value strings like FOO="" as NULL value 2010-09-28 23:41:09 +02:00
Lennart Poettering
7fcde28044 tmpfiles: move dir to /etc/tempfiles.d/ 2010-09-28 22:32:27 +02:00
Lennart Poettering
4aa8b15b0c tmpfiles: return sensible error code 2010-09-28 22:32:05 +02:00
Lennart Poettering
bfaf42d22b tmpfiles: rename tempfiles to tmpfiles since this isn't windows 2010-09-28 22:11:27 +02:00
Fabiano Fidencio
95e26a692d list: Fixing typo in LIST_FIND_HEAD
Just removing a parenthesis
2010-09-28 21:57:34 +02:00
Lennart Poettering
d9c7a87b35 readahead: ignore replay events when collecting 2010-09-28 21:46:30 +02:00
Lennart Poettering
ee95669fb6 service: first lookup LSB facility names in tables, only then suppress self-provides 2010-09-28 21:08:39 +02:00
Lennart Poettering
55888fa400 readahead: fix SSD check 2010-09-28 20:53:08 +02:00
Matthias Schiffer
409db00299 service: Don't crash because of double free when Arch services are disabled in rc.conf 2010-09-28 19:41:04 +02:00
Lennart Poettering
0b5d26f95d service: filter out empty LSB description strings 2010-09-28 18:30:43 +02:00
Lennart Poettering
a7d3cc26f9 service: when resolving sysv names drop leading $ 2010-09-28 18:30:43 +02:00
Kay Sievers
15917fb09b modules-load: use /etc/modules-load.d/?*.conf 2010-09-28 17:02:29 +02:00
Kay Sievers
fd5bf055ac use .conf for new config files: locale, vconsole, modules.d 2010-09-28 11:51:24 +02:00
Kay Sievers
915d22e4f0 vconsole-setup: ignore empty strings like FOO="", imported from config files 2010-09-28 11:49:47 +02:00
Lennart Poettering
5008d5815a tempfiles: add little utility for creating volatile files/dirs in tmpfs hierarchies 2010-09-28 02:34:02 +02:00
Lennart Poettering
5c78d8e242 mount: properly handle bind mounts 2010-09-28 01:03:19 +02:00
Lennart Poettering
caca31b576 service: shortcut sysv provides on ourselves 2010-09-28 00:29:09 +02:00
Lennart Poettering
cb33e40000 service: ignore sysv $null service 2010-09-28 00:28:16 +02:00
Lennart Poettering
b4a16b7b8a fix spelling of 'unneeded' at various places 2010-09-27 23:27:21 +02:00
Lennart Poettering
9f151f29fd service: don't create sysv order deps on merged units 2010-09-27 23:24:17 +02:00
Lennart Poettering
6ccb1b4429 load-fragment: reset fragment_path if we couldn't find a unit file for it 2010-09-27 20:31:57 +02:00
Lennart Poettering
2e7485f021 readahead: avoid collisions with the NULL pointer 2010-09-27 20:23:17 +02:00
Lennart Poettering
aed5e44d50 Revert "hashmap: HASHMAP_FOREACH* iterate until ITERATOR_LAST"
This reverts commit 66d9b3b595.

If we check for i == ITERATOR_LAST we exit the loop one entry before the
end. Instead we should return if e is NULL.
2010-09-27 20:13:21 +02:00
Michael Biebl
f6943caa53 Need to use #elif defined(DEBIAN) here...
This fixes a c&p error in 7472744bf9
2010-09-27 19:11:21 +02:00
Michael Biebl
7472744bf9 debian: add locale compat support
Read LANG from /etc/default/locale.
2010-09-27 18:40:51 +02:00
Lennart Poettering
858209c51f readahead: properly initialize variable 2010-09-27 03:25:10 +02:00
Fabiano Fidencio
07459bb6b9 sysv: optionally disable of SysV init/rcN.d support at compile time
This patch adds a cpp definition HAVE_SYSV_COMPAT that is used to
isolate code dealing with /etc/init.d and /etc/rcN.d for systems where
it does not make sense (one that does not use sysv or one that is fully
systemd native).

The patch tries to be as little intrusive as possible, however in
order to minimize the number of #ifdef'ed regions I've reordered some
code in path-lookup.c:lookup_paths_init() where all code dealing with
sysv is now isolated under running_as == MANAGER_SYSTEM as well.

Moreover, In struct Service, some fields were rearranged to reduce
the number of ifdefs.

Lennart's suggestions were fixed and squashed with the original patch,
that was sent by Gustavo Sverzut Barbieri (barbieri@profusion.mobi).
2010-09-27 03:25:05 +02:00
Harald Hoyer
66d9b3b595 hashmap: HASHMAP_FOREACH* iterate until ITERATOR_LAST 2010-09-27 02:09:47 +02:00
Lennart Poettering
0ebd74d8d9 job: show failure message only for start jobs 2010-09-27 01:37:22 +02:00
Fabiano Fidencio
334d0069f5 mount: Remove double include of "mount.h" 2010-09-27 01:34:58 +02:00
Lennart Poettering
82526d7218 update fixme 2010-09-27 01:24:35 +02:00
Harald Hoyer
6e66797af4 readahead-replay: use posix_fadvise instead of readahead 2010-09-26 15:53:23 +02:00
Harald Hoyer
efe5e8f7e1 readahead-collect: check for negative return codes of fs_on_ssd() 2010-09-26 15:52:58 +02:00
Lennart Poettering
6624768c9c readahead: add interface to sd-daemon.[ch] to control readahead 2010-09-26 15:50:14 +02:00
Harald Hoyer
f0cf061eda readahead-collect: typo, free the correct pointer 2010-09-26 15:24:08 +02:00
Lennart Poettering
8260358d5a readahead: parse command line arguments 2010-09-25 15:39:38 +02:00
Lennart Poettering
437dca8b2f readahead: never readahead temporary files since their names tend not to be stable 2010-09-25 14:35:53 +02:00
Lennart Poettering
75a010e0b7 readahead: make candidate for early OOM kill 2010-09-25 14:35:34 +02:00
Lennart Poettering
408b85df83 readahead: exit after a maximum runtime 2010-09-25 14:27:16 +02:00
Lennart Poettering
902a339c93 readahead-replay: delay ready notification until we queued first read 2010-09-25 13:47:31 +02:00
Lennart Poettering
41a598e21a readahead: disable on low memory machines 2010-09-25 13:32:54 +02:00
Lennart Poettering
4030d7a923 readahead: take file system root on command line 2010-09-24 11:12:10 +02:00
Lennart Poettering
c1480dae17 readahead: normalize logging 2010-09-23 17:44:33 +02:00
Lennart Poettering
6e3eb5ba18 readahead: put limit on files we read ahead 2010-09-23 17:35:16 +02:00
Lennart Poettering
746f890636 readahead: add btrfs defrag support 2010-09-23 17:11:19 +02:00
Lennart Poettering
0511502083 fanotify: use uint64_t instead of __u64 2010-09-23 15:49:08 +02:00
Lennart Poettering
76bf48b7d0 dbus: export number of total failed jobs on D-Bus interface 2010-09-23 15:38:42 +02:00
Lennart Poettering
22be093ffb readahead: implement minimal readahead logic based on fanotify(), mincore() and readahead() 2010-09-23 15:02:13 +02:00
Gustavo Sverzut Barbieri
fa70128df1 dbus: add Progress property to introspection 2010-09-21 16:55:35 +02:00
Kay Sievers
03aeb5bed0 suse: locale + vconsole compat support 2010-09-21 15:08:04 +02:00
Lennart Poettering
05d6a3b6cf manager: calculate progress value while booting 2010-09-21 04:25:48 +02:00
Lennart Poettering
b0c918b97f manager: measure startup times 2010-09-21 04:14:38 +02:00
Lennart Poettering
e409f87570 manager: count how many jobs we executed 2010-09-21 03:51:31 +02:00
Lennart Poettering
653ab83b18 vconsole: make sure we don't merge configuration settings from different sources 2010-09-21 03:16:28 +02:00
Lennart Poettering
ce8a6aa1a0 locale: make sure we don't merge configuration settings from different sources 2010-09-21 01:51:23 +02:00
Lennart Poettering
8780d48d86 locale: unset locale vars that are not set any longer 2010-09-21 01:40:34 +02:00
Lennart Poettering
97e3d13fb4 locale: never use LC_ALL. It's evil. 2010-09-21 01:37:42 +02:00
Tom Gundersen
980900c1d9 service: start Arch daemons
Arch does not use proper SysV runlevels. Instead /etc/rc.conf contains
an array of daemons to load in a multi-user runlevel, and some
dependencies between them.

This patch enables this behaviour in SystemD (only when compiled with
Arch support), which allows SystemD to be a drop in replacement on Arch
(modulo some minor bugs).

v2: simplified after suggestion from Lennart
2010-09-21 01:32:21 +02:00
Fabiano Fidencio
5bfcc1c6ef socket: Support IPv6-less systems with runtime check.
This patch introduces socket_ipv6_is_supported() call that checks for
IPv6 availability. Code then check for it before using specific calls.

In order to be less intrusive, this patch avoids IPv6 entries being
parsed at all, this way we don't get such entries in the system and
all other code paths are automatically ignored. However an extra check
is done at socket_address_listen() to make sure of that.

As the number of Netlink messages is not know upfront anymore,
loopback-setup.c was refactored to dynamically calculate the sequence
number and count.

Lennart's suggestions were fixed and squashed with the original patch,
that was sent by Gustavo Sverzut Barbieri (barbieri@profusion.mobi).
2010-09-21 01:00:38 +02:00
Gustavo Sverzut Barbieri
918f4c69fa gentoo: locale-setup support
Use locale variables from /etc/profile.env as Gentoo's openrc
runscript does (tool that is used by /etc/init.d/* services).
2010-09-21 00:49:13 +02:00
Gustavo Sverzut Barbieri
9841e8e3d3 gentoo: vconsole-setup support.
This patch is a bit bigger than expected since Gentoo being
non-standard in some places.

 1. it is installing binaries at /usr/bin instead of /bin.

 2. it is using CamelCase names for consolefonts.

 3. /etc/rc.conf:unicode=(yes|no) just forbids loadkeys and setfont
    "-u" options, but do not disable the actual kernel default_utf8
    from vt module.
2010-09-21 00:43:16 +02:00
Luis Felipe Strano Moraes
3e21c85da3 ask-password. Initializing socket_fd inside ask_agent.
Garbage value could have been used if there was an error creating the
password file.
2010-09-21 00:29:37 +02:00
Michal Schmidt
aa5939a3ba systemctl: make condrestart equivalent to try-restart
"condrestart" should be equivalent to "try-restart", i.e. it should be
translated into "TryRestartUnit". See
http://fedoraproject.org/wiki/Packaging:SysVInitScript#condrestart_and_try-restart

Fixes https://bugzilla.redhat.com/show_bug.cgi?id=635780
2010-09-21 00:24:23 +02:00
Tom Gundersen
f2fcd59ffa locale: set LANG on Arch
This variable is defined in /etc/rc.conf
2010-09-20 23:14:28 +02:00
Tom Gundersen
424313503a vconsole: set keyboard mapping and font settings on Arch
These variables are defined in /etc/rc.conf
2010-09-20 23:14:23 +02:00
Gustavo Sverzut Barbieri
b56e57470c random-seed: create parents of RANDOM_SEED if they do not exist.
it may happen that parent directories of RANDOM_SEED do not exist, in
that case we must create it otherwise save will not work.
2010-09-20 23:12:50 +02:00
Lennart Poettering
a18fb4823b vconsole: drop vconsole config file var prefix 2010-09-18 01:20:13 +02:00
Lennart Poettering
ae509abccc vconsole: more completely cover fedora legacy vconsole configuration 2010-09-18 01:19:46 +02:00
Lennart Poettering
efb3237ee6 ask-password: popup notification when we ask for a password 2010-09-17 02:32:48 +02:00
Lennart Poettering
ad6ab0af1e ask-password: extend help text a little 2010-09-17 02:13:12 +02:00
Lennart Poettering
1b39d4b9d2 ask-password: optionally ask questions on tty 2010-09-17 02:10:08 +02:00
Lennart Poettering
490aed5849 ask-password: add minimal framework to allow services query SSL/harddisk passphrases from the user 2010-09-17 01:26:29 +02:00
Lennart Poettering
1ebdf5b684 vconsole: fall back to fedora specific configuration 2010-09-16 01:58:16 +02:00
Lennart Poettering
e7db37dd19 util: fix handling of quotes in parse_env_file() 2010-09-16 01:57:59 +02:00
Lennart Poettering
72bca11ba2 locale: initialize locale from /etc/locale by default 2010-09-16 01:57:42 +02:00
Lennart Poettering
97c4a07df9 vconsole: add new utility to initialize the virtual console 2010-09-16 00:36:41 +02:00
Lennart Poettering
8e12a6aed3 util: use waitid() instead of waitpid() everywhere to avoid confusion due to SIGSTOP 2010-09-15 14:48:59 +02:00
Lennart Poettering
2e78aa9988 util: introduce waitpid_loop() 2010-09-15 14:37:45 +02:00
Lennart Poettering
b036fc0050 systemctl: use sizeof() instead of strlen() on literal strings 2010-09-15 03:12:04 +02:00
Zbyszek Szmek
9b2fcafba4 systemctl: split job list writing to a seperate function
On Tue, Sep 14, 2010 at 10:23:28PM +0200, Lennart Poettering wrote:
> On Tue, 07.09.10 17:02, Zbigniew Jędrzejewski-Szmek (zbyszek@in.waw.pl) wrote:
>
> Urks, now I commited the wrong one... Can you prep an updated patch against
> current git?
Once more sorry about that.

Fix below.

Zbyszek
2010-09-15 03:05:02 +02:00
Lennart Poettering
5275d3c13d mount-setup: fix selinux label after mounting
rhbz 629268
2010-09-15 01:38:07 +02:00
Zbigniew Jędrzejewski-Szmek
3333022269 systemctl: limit some column widths to widest actually used
old
UNIT                      LOAD   ACTIVE       SUB                JOB
dev-hugepages.automount   loaded active       running                            Huge Page
dev-mqueue.automount      loaded active       waiting                            POSIX Mes
proc-sys...misc.automount loaded active       waiting                            Arbitrary
sys-kern...ebug.automount loaded active       running                            Debug Fil

new
UNIT                      LOAD   ACTIVE SUB       JOB
dev-hugepages.automount   loaded active running       Huge Pages File System Automount Poi
dev-mqueue.automount      loaded active waiting       POSIX Message Queue File System Auto
systemd-shutdownd.socket  loaded active listening     systemd Delayed Shutdown Socket
2010-09-14 22:16:28 +02:00
Zbigniew Jędrzejewski-Szmek
eb68c413aa systemctl: split job list writing to a seperate function 2010-09-14 22:15:41 +02:00
Zbigniew Jędrzejewski-Szmek
ef639c5f9e systemctl: use on_tty() helper everywhere 2010-09-14 22:14:52 +02:00
Lennart Poettering
f26ee0b931 util: SIGSTKFLT is unknown on Linux for SPARC 2010-09-14 13:56:08 +02:00
Lennart Poettering
6f0d624ec7 systemctl: use isolate when called as telinit for a runlevel 2010-09-14 02:22:55 +02:00
Lennart Poettering
e43ac8788b manager: log job mode when running job 2010-09-14 02:16:14 +02:00
Lennart Poettering
ac83842a55 initctl: properly use isolate when activating runlevels 2010-09-14 01:56:14 +02:00
Lennart Poettering
bba34eedc7 target: add implicit target/unit ordering deps only if both sides have been fully loaded 2010-09-14 01:51:30 +02:00
Lennart Poettering
83a95334c9 socket: fix output of TCP congestion options 2010-09-14 01:31:41 +02:00
Lennart Poettering
f21781d57f service: fix check for non-LSB files 2010-09-14 00:23:15 +02:00