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

492 Commits

Author SHA1 Message Date
Lennart Poettering
748ebafa7a systemctl: honour inhibitors only when running unprivileged 2013-01-14 21:24:57 +01:00
Lennart Poettering
d255133d8e systemctl: don't hit an assert if we try to reboot and dbus is dead
https://bugzilla.redhat.com/show_bug.cgi?id=889624
2013-01-14 21:24:57 +01:00
Lennart Poettering
60f9ba0b94 systemctl: rework is-active and is-failed code 2013-01-14 21:24:57 +01:00
Lennart Poettering
b37844d3d7 systemctl: honour inhibitors when shutting down or entering sleep state 2013-01-11 04:24:05 +01:00
Lennart Poettering
5dd9014faf dbus: duplicate Job.Cancel() as CancelJob() and Snapshot.Remove() as RemoveSnapshot() on the Manager interface
For all other object mehtods there are already counterparts on the
manager object, as they help us reduce round-trips. So let's complete
this, and reduce complexity on the client side a bit.

As a side effect this also makes "systemctl snapshot" without arguments
work again.
2013-01-10 23:03:48 +01:00
Lennart Poettering
bc2708414b build-sys: drop all distribution specfic checks
Yay, we now have a completely generic systemd. No distribution specific checks anymore!
2013-01-04 23:26:21 +01:00
Lennart Poettering
77e68fa2f0 systemctl: enable chkconfig compat only if chkconfig is found rather than based on distro 2013-01-04 23:26:21 +01:00
Thomas Hindoe Paaboel Andersen
1a0fce458d systemctl: add is-failed
Adds is-failed to join is-active and is-enabled.

I grabbed this one from the todo list. Most of the functionality was
already there for is-active. I just needed to make check_one_unit take
the states to check for as an argument instead of the hardcoded
"active" and "reloading".

is-failed will return 1 if none of the units given are failed. This is
different from is-active which will return 3 if none of the units
given are active. It returns 3 with this comment:
/* According to LSB: "program is not running" */
As that does not make sense when looking for failed units I simply
chose 1 instead.
2013-01-04 00:33:25 +01:00
Tom Gundersen
13068da8b0 systemctl: switch-root - read init= from /proc/cmdline
If the path to init is not specified as an argumnt to systemctl, but
init= is given on the kernel commandline, use that.

This means the initrd does not need glue code to parse the kernel
commandline before passing on init= to systemctl.

Cc: Harald Hoyer <harald@redhat.com>
Cc: Dave Reisner <dreisner@archlinux.org>
2012-12-28 23:37:18 +01:00
Lennart Poettering
b08121d004 systemctl: don't show cgroup field for a unit if cgroup is empty 2012-12-24 00:29:39 +01:00
Michal Schmidt
4b9d3dc974 systemctl: verbose message on missing [Install]
People still don't understand what the message implies.
We have to be more verbose (or more intelligent and detect some of the
cases automatically, but that's not so easy).

https://bugzilla.redhat.com/show_bug.cgi?id=884438
2012-12-06 16:25:39 +01:00
Umut Tezduyar
d9847b3246 systemctl: fix typos in help text 2012-12-03 16:05:01 +01:00
Lennart Poettering
9185c8e626 time-util: also rename FORMAT_TIMESTAMP_PRETTY → _MAX 2012-11-23 22:51:55 +01:00
Lennart Poettering
bbb8486e17 util: rename format_timestamp_pretty() to format_timestamp_relative() because that describes much better what it does 2012-11-23 22:12:59 +01:00
Lennart Poettering
95ec8647c7 journal: recommend journalctl -x more often 2012-11-16 03:03:54 +01:00
Zbigniew Jędrzejewski-Szmek
45c0c61df3 systemctl: add help for --type/-t
The list of types and load states if lengthy, so a little reminder
can be sometimes useful.
2012-11-15 11:54:57 +01:00
Zbigniew Jędrzejewski-Szmek
48c2826b4e systemctl: remove empty line in case of no units 2012-11-15 11:39:23 +01:00
Dave Reisner
a9cdc94f7f enable localization for common *ctl commands 2012-11-12 14:16:07 -05:00
Zbigniew Jędrzejewski-Szmek
ccd413871b systemctl: skip JOBS column if no jobs
Output is very constrained. This change saves 4 columns in the common
case.
2012-10-28 22:43:11 +01:00
Lennart Poettering
6524990fdc logind: support for hybrid sleep (i.e. suspend+hibernate at the same time) 2012-10-28 00:50:35 +02:00
Lennart Poettering
2609659f0d systemctl: refer to systemctl -n, to not overwhelm the admin 2012-10-23 00:12:33 +02:00
Christian Hesse
df77cdf0fc systemctl: fix return code in chroot
If 'systemctl enable' (and friends) is run inside chroot it always
exits with a bad return code. unit_file_enable() returns the number of
symlink rules that were supposed to be created. So resetting r to 0 and
exiting gracefully should be the correct way.
2012-10-19 17:34:02 +02:00
Lennart Poettering
31e767f73a systemctl: modernization 2012-10-19 04:53:46 +02:00
Lennart Poettering
aae9a96d4b systemctl: remove --follow option
Given that "journalctl -u" exists now there's no need to duplicate this
functionality in systemctl, so let's drop this, especially given that it
always felt a bit awkward to overload "-f" to both --force and --follow,
and to have continues output with a status header for this.

        systemctl status -f avahi-daemon

now becomes:

        journalctl -fu avahi-daemon

Which is shorter and a lot less redundant.
2012-10-19 00:12:46 +02:00
Lennart Poettering
8481248b9f util: unify usage of on_tty() in util.c 2012-10-19 00:07:55 +02:00
Lennart Poettering
f89a3b6f5b journalctl: unify ellipsation handling between journalctl and systemctl 2012-10-18 23:35:44 +02:00
Lukas Nykryn
44386fc156 systemctl: don't mangle name when it is a path
systemctl enable, disable, ... can also accept full path and in this case
we don't need to alter it.

https://bugzilla.redhat.com/show_bug.cgi?id=866346
2012-10-15 16:34:23 +02:00
Lennart Poettering
48383c2511 journal: support epxorting the journal in a format suitable for text/event-stream 2012-10-11 02:37:10 +02:00
Zbigniew Jędrzejewski-Szmek
57f7ae4f68 systemctl: colorize number of units listed 2012-10-04 11:12:23 +00:00
Zbigniew Jędrzejewski-Szmek
ad94ad63e3 systemctl: do not print header if no units listed 2012-10-04 11:01:10 +00:00
Lennart Poettering
cad45ba11e selinux: rework selinux access check logic
a) Instead of parsing the bus messages inside of selinux-access.c
simply pass everything pre-parsed in the functions

b) implement the access checking with a macro that resolves to nothing
on non-selinux builds

c) split out the selinux checks into their own sources
selinux-util.[ch]

d) this unifies the job creation code behind the D-Bus calls
Manager.StartUnit() and Unit.Start().
2012-10-02 17:07:00 -04:00
Lennart Poettering
08ace05beb logs-show: various cleanups
Among other cleanups this introduces a threshold for the size of binary
blobs we serialize as integer arrays in the JSON output. THis can be
disabled via --all.
2012-09-28 00:55:24 +02:00
Zbigniew Jędrzejewski-Szmek
49111a708e systemctl: warn about triggering units only at the end
Instead of checking each unit separately, check once at the end. This
should avoid spurious warnings about a service being triggerable by
other stuff.
2012-09-19 08:27:34 +02:00
Zbigniew Jędrzejewski-Szmek
d39b034af6 systemctl: properly report success
Systemctl would always return 1, because it treated uninteresting dbus
messages ("job added") as errors. Just ignore everything apart from
interesting ("job removed") messages.
2012-09-19 08:27:34 +02:00
Zbigniew Jędrzejewski-Szmek
46eddbb597 systemctl: use automatic cleanup once more
Semantics are slightly different, because before unit_name_mangle
returning NULL was ignored, and now it is reported as oom. But
unit_name_mangle only returns NULL on oom.
2012-09-19 08:25:51 +02:00
Zbigniew Jędrzejewski-Szmek
d3b52baff9 systemctl: use automatic cleanup
Introduce a helper method to unref dbus messages and use it.
2012-09-19 08:25:36 +02:00
Zbigniew Jędrzejewski-Szmek
67445f4e22 core: move ManagerRunningAs to shared
Note: I did s/MANAGER/SYSTEMD/ everywhere, even though it makes the
patch quite verbose. Nevertheless, keeping MANAGER prefix in some
places, and SYSTEMD prefix in others would just lead to confusion down
the road. Better to rip off the band-aid now.
2012-09-18 19:53:34 +02:00
Lennart Poettering
67f3c40265 systemctl: show unit name when a job fails
https://bugzilla.redhat.com/show_bug.cgi?id=845028
https://bugzilla.redhat.com/show_bug.cgi?id=846483
2012-09-14 15:11:07 +02:00
Lennart Poettering
a33fdebb30 systemctl: minor coding style fixes 2012-09-13 22:42:22 +02:00
Václav Pavlín
37370d0cbe install: append .service when enable/disable... is called
https://bugzilla.redhat.com/show_bug.cgi?id=856975
2012-09-13 22:35:18 +02:00
Lennart Poettering
bb3241614a systemctl: direct the user to list-unit-files from the list-units output 2012-09-12 08:56:57 +02:00
Lennart Poettering
b5b46d5995 when determining unit file list, include invalid unit names in an "invalid" state 2012-09-11 01:14:25 +02:00
Lennart Poettering
dcc9ba80e1 systemctl: properly build flags for show_journal_by_unit() 2012-09-05 17:05:04 -07:00
Lennart Poettering
57371e5829 shutdown: remove explicit sync() invocations
The kernel implicitly does sync() anyway, hence there is no need to do
that in userspace explicitly. This makes the "-n" switch to halt(8) a
noop.
2012-09-05 15:32:57 -07:00
Lennart Poettering
a6e87e90ed journalctl: rework JSON output mode
This splits the JSON output mode into different modes: json and
json-pretty. The former printing one entry per line, the latter showing
JSON objects nicely indented and in multiple lines to make it easier to
read for humans.
2012-09-05 15:25:32 -07:00
Lukas Nykryn
96342de68d service: add options RestartPreventExitStatus and SuccessExitStatus
In some cases, like wrong configuration, restarting after error
does not help, so administrator can specify statuses by RestartPreventExitStatus
which will not cause restart of a service.

Sometimes you have non-standart exit status, so this can be specified
by SuccessfulExitStatus.
2012-08-14 14:46:03 +02:00
Simon Peeters
c516c8d17f systemctl: fix issue with systemctl daemon-reexec 2012-08-10 18:08:22 +02:00
Simon Peeters
c67de56f50 move bus_method_call_with_reply() to dbus-common 2012-08-08 02:04:40 +02:00
Simon Peeters
f22f08cd5f systemctl: use bus_method_call_with_reply() where posible
use the method introduced by the previous commit
2012-08-08 01:32:30 +02:00
Simon Peeters
f3de59c592 systemctl: add bus_method_call_with_reply
this method combines the folowing dbus calls and there error handling:
 dbus_message_new_method_call()
 dbus_message_append_args()
 dbus_connection_send_with_reply_and_block()
2012-08-08 01:29:55 +02:00
Michal Sekletar
dfcc5c33f4 shutdown: allow to specify broadcast message when cancelling shutdown
makes shutdown behaviour more compatible
2012-08-06 16:25:55 +02:00
Lennart Poettering
498261871d journalctl: hightlight log lines by priority
warn/notice = bright white
< error = red
2012-07-26 16:56:21 +02:00
Shawn Landden
0d0f0c50d3 log.h: new log_oom() -> int -ENOMEM, use it
also a number of minor fixups and bug fixes: spelling, oom errors
that didn't print errors, not properly forwarding error codes,
few more consistency issues, et cetera
2012-07-26 11:48:26 +02:00
Shawn Landden
669241a076 use "Out of memory." consistantly (or with "\n")
glibc/glib both use "out of memory" consistantly so maybe we should
consider that instead of this.

Eliminates one string out of a number of binaries. Also fixes extra newline
in udev/scsi_id
2012-07-25 11:23:57 +02:00
Zbigniew Jędrzejewski-Szmek
81cf1c43c9 systemctl: use color specification understood by dot
grey66 is aproximately equal to dark grey. Not understanding dark grey is really
a bug in dot, but trivial to work around.

Closes https://bugs.freedesktop.org/show_bug.cgi?id=45706
2012-07-23 18:26:31 +02:00
Zbigniew Jędrzejewski-Szmek
d91b8841d7 collect, keymap, systemctl: use _noreturn_ 2012-07-22 23:53:48 +02:00
Lennart Poettering
c74f17d96c core: drop KillMode parameter from KillUnit() bus call
It made no sense, and since we are documenting the bus calls now and
want to include them in our stability promise we really should get it
cleaned up sooner, not later.
2012-07-20 00:10:32 +02:00
Zbigniew Jędrzejewski-Szmek
085d71209b logs: Adapt interface in log-show.c (show_journal_by_unit)
Convert more flag arguments into one flag variable.
2012-07-17 17:20:58 +02:00
Zbigniew Jędrzejewski-Szmek
c147dc42f8 systemctl: filter shown units by their load state
E.g. systemctl --all -t masked gives the list of masked units.

The -t/--type option is reused. This is possible because unit types
and unit load states are called differently, so it is possible to
distinguish what the user meant. Using the same option also means that
the interface is user for the user: less options to remember.
2012-07-10 18:05:47 +02:00
Zbigniew Jędrzejewski-Szmek
6d97280899 systemctl: check the argument to -t for invalid values
Systemctl accepted anything as the argument for -t, and simply said '0
units found'. It is better to catch this user error early.
2012-07-10 17:07:32 +02:00
Auke Kok
8401e9f91d MeeGo: Remove build support for MeeGo distribution.
The MeeGo distribution is still a supported distribution, but
will probably not see an updated version of systemd anymore.

Most of the development is focussing on Tizen now, and the
generic support for building --with-distro=other is more than
adequate enough.

This patch removes the support as a custom configuration build
target in systemd. People who are still building this for
the MeeGo distribution should build as "other" distro.
2012-07-09 16:37:46 +02:00
Lennart Poettering
0315fe3746 systemctl: make sure we print URLs we can't show in systemctl in a nicely clickable way 2012-06-25 22:57:20 +02:00
Lennart Poettering
b0193f1c1f systemctl: automatically turn paths and unescaped unit names into proper unit names
This makes sure that

  systemctl status /home

is implicitly translated to:

  systemctl status /home.mount

Similar, /dev/foobar becomes dev-foobar.device.

Also, all characters that cannot be part of a unit name are implicitly
escaped.
2012-06-22 13:08:48 +02:00
Lennart Poettering
089842938d journal: expose and make use of cutoff times of journal
This helps explaining when the log output of "systemctl status" is
incomplete because the logs got rotated since the service was started.
2012-06-17 00:03:12 +02:00
Michal Schmidt
34cdc274ed systemctl: clearer error message for missing install information
Some users found it difficult to understand what systemctl was telling
them.
Instead of "install information" talk about "[Install] section", which
is more likely to ring a bell. And suggest that it is intentional, so
that users do not attempt to "correct" the unit files.

https://bugzilla.redhat.com/show_bug.cgi?id=817033
2012-06-14 23:35:56 +02:00
Michal Schmidt
48899192a7 unit-name: introduce unit_dbus_path_from_name()
Use the same function in core and in systemctl.
get_unit_path() in systemctl becomes unnecessary.
2012-06-13 18:42:02 +02:00
Michal Schmidt
1c291cf34c systemctl: warn about all active triggers, not just sockets 2012-06-13 18:42:02 +02:00
Michal Schmidt
222d0348f9 systemctl: fix iteration in check_listening_sockets() 2012-06-13 18:42:02 +02:00
Michal Schmidt
31be1221a1 systemctl: remove is_socket_listening
We can use the functionality of check_unit(). Factor out
check_one_unit().
2012-06-13 18:42:01 +02:00
Michal Schmidt
e61a3135e9 systemctl: style fixes for the previous patch
Use the usual indentation, bracketing style, and no assignments in ifs.
Since check_listening_sockets provides just optional hints for the user,
don't pass its DBusErrors to the caller.
2012-06-13 18:42:01 +02:00
Michal Sekletar
701cdcb9ee systemctl will print warning when stopping unit
systemctl now prints warning and list of sockets in listenning state which can
trigger start of service which is about to be stopped
2012-06-13 18:42:01 +02:00
Kay Sievers
b43f208f78 systemctl: rename "man" to "help" 2012-06-04 19:55:38 +02:00
Lennart Poettering
256425cc10 systemctl: introduce "systemctl man" to show man page for unit
For now this only reads man: URLs, but later on we might want to support
info: too. http/https is probably out of focus.
2012-05-31 04:11:57 +02:00
Lennart Poettering
ba1261bc02 build-sys: fix built with --disable-logind 2012-05-30 22:25:01 +02:00
Lennart Poettering
07719a21b6 manager: rework generator logic
Previously generated units were always placed at the end of the search
path. With this change there will be three unit dirs instead of one, to
place generated entries at the beginning, in the middle and at the end
of the search path:

beginning: for units that need to override all configuration, regardless
of user or vendor. Example use: system-update-generator uses this to
temporarily redirect default.target.

middle: for units that need to override vendor configuration, but not
vendor configuration. Example use: /etc/fstab should override vendor
supplied configuration (think /tmp), but should not override native user
configuration.

end: does not override anything but is available as well. Possible usage
might be to convert D-Bus bus service files to native units but allowing
vendor supplied native units to win.
2012-05-23 03:43:29 +02:00
Lennart Poettering
1b64d026af units: remove service sysv_path variable and replace it by generic unit_path
UnitPath= is also writable via native units and may be used by generators
to clarify from which file a unit is generated. This patch also hooks up
the cryptsetup and fstab generators to set UnitPath= accordingly.
2012-05-22 23:08:24 +02:00
Nis Martensen
386da8589b delta: fix spelling of overridden 2012-05-21 18:31:43 +02:00
Lennart Poettering
49dbfa7b2b units: introduce new Documentation= field and make use of it everywhere
This should help making the boot process a bit easier to explore and
understand for the administrator. The simple idea is that "systemctl
status" now shows a link to documentation alongside the other status and
decriptionary information of a service.

This patch adds the necessary fields to all our shipped units if we have
proper documentation for them.
2012-05-21 15:14:51 +02:00
Michal Schmidt
a223b325b4 systemctl: drop useless DBus calls from 'systemctl show foo.service'
systemctl called LoadUnit, GetUnit, GetAll in this order to get the properties.

It is useless to load units explicitly, because it won't ensure anything. The
unit may be freed immediately by the garbage collector.

It is unnecessary to call GetUnit, because systemctl can easily translate the
unit name to DBus path by itself.

GetAll will load the unit if necessary.
2012-05-21 12:59:00 +02:00
Lennart Poettering
957eb8cab2 systemctl: add switch-root verb 2012-05-14 22:41:30 +02:00
Lennart Poettering
d889a2069a logind: implement suspend/hibernate calls with inhibition logic 2012-05-08 19:02:25 +02:00
Lennart Poettering
6edd7d0a09 sleep: implement suspend/hibernate as first class targets 2012-05-08 13:54:23 +02:00
Kay Sievers
9eb977db5b util: split-out path-util.[ch] 2012-05-08 02:33:10 +02:00
Lennart Poettering
59ddae9f9c systemctl: fix typo
as Sergey Ptashnick pointed out we should write "poweroff" once instead
of "reboot" twice.
2012-05-04 01:02:32 +02:00
Lennart Poettering
06dab8e18a dbus: include unit name in JobNew/JobRemoved signals
This breaks D-Bus interface slightly, but since the D-Bus API isn't
covered by the interface stability promise this should be OK.
2012-05-03 22:53:25 +02:00
Lennart Poettering
3beddc7861 systemctl: allow 'systemctl reboot -ff' to succeed even without D-Bus 2012-05-03 16:29:15 +02:00
Lennart Poettering
c32b90dec7 systemctl: print a nice error message if an unprivileged user calls systemctl reboot -ff 2012-05-03 16:17:58 +02:00
Lennart Poettering
65491fd8c9 systemctl: get rid of arg_immediate and fold it into arg_force 2012-05-03 16:17:39 +02:00
Lennart Poettering
b69d29ce04 systemctl: show main and control PID explicitly in cgroup-show
In some cases the main/control PID of a service can be outside of the
services cgroups (for example, if logind readjusts the processes'
cgroup). In order to clarify this for the user show the main/control PID
in the cgroup tree nonetheless, but mark them specially.
2012-04-16 18:59:40 +02:00
Lennart Poettering
c3175a7f40 cgls: don't show empty cgroups by default 2012-04-16 18:59:08 +02:00
Lennart Poettering
b562f5a57d build-sys: add stub makefiles to all subdirs to ease development with emacs 2012-04-13 21:37:59 +02:00
Kay Sievers
dce818b390 move all tools to subdirs 2012-04-12 17:54:42 +02:00