1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-14 15:21:37 +03:00
Commit Graph

272 Commits

Author SHA1 Message Date
Lennart Poettering
e8bc0ea2b1 journalctl: strip TABs and ANSI color sequences from log messages when displaying them 2012-12-23 11:28:14 +01:00
Kay Sievers
1ebe2a47c4 gitignore: ignore .trs files from tests 2012-12-02 02:10:40 +01:00
Zbigniew Jędrzejewski-Szmek
b5a223bfcf build-sys: use parallel tests driver
This saves test output to individual .log files.

The driver is only used in /Makefile.am, not in
/docs/*udev/Makefile.am because the latter don't seem to work with
this driver. They don't produce much output anyway.

.gitignore is alphabetized, and .log files are added to it.
Generated files from /build-aux are removed from the list.
2012-12-01 16:38:39 +01:00
Lennart Poettering
36697dc019 timer: implement calendar time events 2012-11-23 21:37:58 +01:00
Lennart Poettering
d4205751d4 journal: implement message catalog
The message catalog can be used to attach short help texts to log lines,
keyed by their MESSAGE_ID= fields. This is useful to help the
administrator understand the context and cause of a message, find
possible solutions and find further related documentation.

Since this is keyed off MESSAGE_ID= this will only work for native
journal messages.

The message catalog supports i18n, and is useful to augment english
language system messages with explanations in the local language.

This commit only includes short explanatory messages for a few example
message IDs, we'll add more complete documentation for the relevant
systemd messages later on.
2012-11-15 23:09:07 +01:00
Holger Hans Peter Freyther
bb11271068 sched: Only setting CPUSchedulingPriority=rr doesn't work
A service that only sets the scheduling policy to round-robin
fails to be started. This is because the cpu_sched_priority is
initialized to 0 and is not adjusted when the policy is changed.

Clamp the cpu_sched_priority when the scheduler policy is set. Use
the current policy to validate the new priority.

Change the manual page to state that the given range only applies
to the real-time scheduling policies.

Add a testcase that verifies this change:

$ make test-sched-prio; ./test-sched-prio
[test/sched_idle_bad.service:6] CPU scheduling priority is out of range, ignoring: 1
[test/sched_rr_bad.service:7] CPU scheduling priority is out of range, ignoring: 0
[test/sched_rr_bad.service:8] CPU scheduling priority is out of range, ignoring: 100
2012-11-15 16:16:45 +01:00
Lennart Poettering
6e6fb527f9 shared: add API for replacing @FOO@ style variables in strings 2012-11-14 22:21:16 +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
a4bcff5ba3 journal: introduce entry array chain cache
When traversing entry array chains for a bisection or for retrieving an
item by index we previously always started at the beginning of the
chain. Since we tend to look at the same chains repeatedly, let's cache
where we have been the last time, and maybe we can skip ahead with this
the next time.

This turns most bisections and index lookups from O(log(n)*log(n)) into
O(log(n)). More importantly however, we seek around on disk much less,
which is good to reduce buffer cache and seek times on rotational disks.
2012-10-26 03:24:03 +02:00
Kay Sievers
b87377fca3 update .gitignore 2012-10-22 14:33:35 +02:00
Lennart Poettering
2087a7aff2 locale: add client tool localectl similar to hostnamectl/timedatectl 2012-10-19 04:55:49 +02:00
Lennart Poettering
dbc4fbae58 hostname: add new hostnamectl tool as text client for hostnamed 2012-10-17 21:25:42 +02:00
Lennart Poettering
6d0274f115 timedatectl: introduce new command line client for timedated
Much like logind has a client in loginctl, and journald in journalctl
introduce timedatectl, to change the system time (incl. RTC), timezones
and related settings.
2012-10-17 21:25:42 +02:00
Zbigniew Jędrzejewski-Szmek
e88baee88f journald: properly update message size after stripping the identifier
Valgrind says:
==29176== Conditional jump or move depends on uninitialised value(s)
==29176==    at 0x412A85: cunescape_length_with_prefix (util.c:1565)
==29176==    by 0x40B351: dev_kmsg_record (journald-kmsg.c:301)
==29176==    by 0x40B653: server_read_dev_kmsg (journald-kmsg.c:347)
==29176==    by 0x40B701: server_flush_dev_kmsg (journald-kmsg.c:365)
==29176==    by 0x409DE7: main (journald.c:1535)
2012-10-13 14:40:32 +02:00
Lennart Poettering
cfbc22abd0 journalctl: implement --since= and --until for filtering by time 2012-10-11 16:43:37 +02:00
Lennart Poettering
7b17a7d72f journal: add minimal journal gateway daemon based on GNU libmicrohttpd
This minimal HTTP server can serve journal data via HTTP. Its primary
purpose is synchronization of journal data across the network. It serves
journal data in three formats:

       text/plain: the text format known from /var/log/messages
       application/json: the journal entries formatted as JSON
       application/vnd.fdo.journal: the binary export format of the journal

The HTTP server also serves a small HTML5 app that makes use of the JSON
serialization to present the journal data to the user.

Examples:

This downloads the journal in text format:

 # systemctl start systemd-journal-gatewayd.service
 # wget http://localhost:19531/entries

Same for JSON:

 # curl -H"Accept: application/json" http://localhost:19531/entries

Access via web browser:

 $ firefox http://localhost:19531/
2012-09-28 00:55:24 +02:00
Lennart Poettering
2a2507e60d journal: add missing test file 2012-09-24 10:18:10 +02:00
Lennart Poettering
ec29187225 Revert "multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics on its own now"
This reverts commit 636d30a089.

Turns out we will need the multi-seat wrapper a bit longer, however
without the fb-specific bits in it.
2012-09-21 15:51:04 +02:00
Lennart Poettering
636d30a089 multi-seat: drop multi-seat-x wrapper, as upstream X can handle multi-seat graphics on its own now 2012-09-21 12:46:22 +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
877d54e9b0 journal: generate structured journal messages for a number of events 2012-09-03 18:59:04 -07:00
Lennart Poettering
0284adc6a6 journal: split up journal-file.c 2012-08-16 17:10:57 +02:00
Zbigniew Jędrzejewski-Szmek
69b7fedfc0 gitignore: tags files 2012-07-17 12:22:19 +02:00
Lennart Poettering
cbdca8525b journal: beef up journal matches considerably
we now can take multiple matches, and they will apply as AND if they
apply to different fields and OR if they apply to the same fields. Also,
terms of this kind can be combined with an overreaching OR.
2012-07-13 00:32:32 +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
87ce22cc0d readahead: merge three binaries into one
since the binaries share much of the same code and we better load only
one binary instead of two from disk at early boot let's merge the three
readahead binaries into one. This also allows us to drop a lot of
duplicated code.
2012-06-21 23:53:20 +02:00
Kay Sievers
eb125fb693 update .gitignore 2012-06-10 18:28:53 +02:00
Lennart Poettering
d360705f0f system-update: add system update generator
http://freedesktop.org/wiki/Software/systemd/SystemUpdates
2012-05-22 19:48:51 +02:00
Lennart Poettering
6b1dc2bd3c mount: replace PID1 internal fstab parser with generator
Bit by bit we should remove non-unit parsing from PID 1 and move into
generators, to clean up our code base a bit and clearly separate
parsers.
2012-05-22 19:25:17 +02:00
Lennart Poettering
27b5482cc0 delta: add systemd-delta tool to find overriden configuration and unit files 2012-05-16 03:24:50 +02:00
Lennart Poettering
6edd7d0a09 sleep: implement suspend/hibernate as first class targets 2012-05-08 13:54:23 +02:00
Lennart Poettering
eecd1362f7 logind: implement delay inhibitor locks in addition to block inhibitor locks
This is useful to allow applications to synchronously save data before
the system is suspended or shut down.
2012-05-05 00:36:08 +02:00
Lennart Poettering
2b93b027d3 remount: consolidate remount-api-vfs and remount-rootfs into one
This has the advantage of removing a confusing warning by mount if the
root directory is not listed in fstab.
2012-04-24 16:42:42 +02:00
Lennart Poettering
acf9b2f154 update .gitignore 2012-04-17 16:04:42 +02:00
Kay Sievers
f13b388f97 udev: install udevd as /usr/lib/systemd/systemd-udevd 2012-04-17 00:18:30 +02:00
Lennart Poettering
f8e2fb7b14 logind: add shutdown/suspend/idle inhibition framework 2012-04-16 18:59:08 +02:00
Kay Sievers
3b6d9a7c50 update .gitignore 2012-04-13 21:58:01 +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
04a9d3a00a udev: fix gcc warnings showing up after adding $(AM_CFLAGS) 2012-04-10 17:27:46 +02:00
Lennart Poettering
e96d6be763 systemd: add hardware watchdog support
This adds minimal hardware watchdog support to PID 1. The idea is that
PID 1 supervises and watchdogs system services, while the hardware
watchdog is used to supervise PID 1.

This adds two hardware watchdog configuration options, for the runtime
watchdog and for a shutdown watchdog. The former is active during normal
operation, the latter only at reboots to ensure that if a clean reboot
times out we reboot nonetheless.

If the runtime watchdog is enabled PID 1 will automatically wake up at
half the configured interval and write to the watchdog daemon.

By default we enable the shutdown watchdog, but leave the runtime
watchdog disabled in order not to break independent hardware watchdog
daemons people might be using.

This is only the most basic hookup. If necessary we can later on hook
up the watchdog ping more closely with services deemed crucial.
2012-04-05 22:15:29 +02:00
Kay Sievers
3e2147858f move imported udev into place 2012-04-04 05:05:07 +02:00
Lennart Poettering
b070e7f3c9 journal: implicitly add code location to all messages logged with the native interface
This logic can be turned off by defining SD_JOURNAL_SUPPRESS_LOCATION
before including sd-journal.h.

This also saves/restores errno in all logging functions, in order to be
useful as logging calls without side-effects.

This also adds a couple of __unlikely__ around the early checks in the
logging calls, in order to minimize the runtime impact.
2012-04-02 19:29:48 +02:00
Lennart Poettering
169c4f6513 journalctl,loginctl: drop systemd- prefix in binary names
Let's make things a bit easier to type, drop the systemd- prefix for
journalctl and loginctl, but provide the old names for compat.

All systemd binaries are hence now prefixed with "systemd-" with the
exception of the three primary user interface binaries:

systemctl
loginctl
journalctl

For those three we do provide systemd-xyz names as well, via symlinks:

systemd-systemctl → systemctl
systemd-loginctl → loginctl
systemd-journalctl → journalctl

We do this only for the *primary* user tools, in order to avoid
unnecessary namespace problems. That means tools like systemd-notify
stay the way they are.
2012-03-26 20:58:47 +02:00
Lennart Poettering
9cacf56451 umount: don't try to umount /usr, if we are running from it 2012-03-06 01:28:32 +01:00
Lennart Poettering
36db9a8d5b login: add multi-session X wrapper
In preparation for https://bugzilla.gnome.org/show_bug.cgi?id=655380 we
decided it's better to include the multi-seat X wrapper in systemd,
rather than gdm. (Side effect: this makes this accessible for other
DMs)

This is a stop-gap for now, until X gins proper multi-seat graphics
support at which point this code will go away without replacement.
2012-01-23 23:34:36 +01:00
Kay Sievers
c97e8d10fe add .vimrc 2012-01-23 04:42:11 +01:00
Lennart Poettering
8f2d43a012 cgtop: add new cgtop tool 2012-01-22 18:22:26 +01:00
Lennart Poettering
f5e04665eb journal: hook up coredumping with journal 2012-01-14 01:54:33 +01:00
Lennart Poettering
755a02c680 journal: add new system-cat tool as kind of a more powerfull BSD logger 2012-01-14 01:54:33 +01:00
Lennart Poettering
dcd5f1020c git: only ignore toplevel systemd file 2012-01-05 16:28:33 +01:00
Kay Sievers
d4a66a7f96 libsystemd-id128: restructure Makefile.am 2011-12-31 08:53:06 +01:00
Kay Sievers
4668191d02 timedated: move sources to subdirectory 2011-12-31 06:40:48 +01:00
Lennart Poettering
fc5e60ee0c git: update gitignore 2011-12-31 03:02:57 +01:00
Lennart Poettering
4b2d99d9f4 journal: add unit files and shared library glue 2011-12-30 17:50:37 +01:00
Lennart Poettering
87d2c1ff6a journal: add preliminary incomplete implementation 2011-10-07 22:02:05 +02:00
Lennart Poettering
346bce1f4c stdout-bridge: rename logger to stdout-syslog-bridge to make it more descriptive 2011-08-30 22:42:49 +02:00
Lennart Poettering
830964834f install: add new installer implementation
This new installer will replace the current code of "systemctl enable"
but also be available via D-Bus. It adds a couple of new features:

- Mask/Unmask calls
- Reenable call
- Preset call
- Support for enabling units temporarily (i.e. in /run/systemd instead
  of /etc/systemd)
- Enumeration of installed units
- Support for out-of-search-path units

systemctl and D-Bus are not hooked up with this yet
2011-07-22 04:31:21 +02:00
Lennart Poettering
3fd476bb11 git: hide more files from git 2011-07-14 23:52:16 +02:00
Lennart Poettering
114a50f898 sd-daemon: turn sd-daemon.c into a shared library 2011-07-14 23:06:31 +02:00
Lennart Poettering
74b91131ed logind: introduce libsystemd-login.so as fast path to access logind data 2011-07-14 22:51:28 +02:00
Lennart Poettering
abca482291 loginctl: add basic implementation of loginctl for introspecting controlling sessions/users/seats 2011-07-07 03:29:56 +02:00
Lennart Poettering
f401e48c2d mechanisms: add mechanisms to change system locale and clock 2011-06-21 19:29:45 +02:00
Lennart Poettering
5eda94dda2 logind: implement ACL management 2011-06-21 19:29:44 +02:00
Lennart Poettering
202630822f logind: first version that compiles fine 2011-06-21 19:29:44 +02:00
Lennart Poettering
7640a5de1b hostnamed: introduce systemd-hostnamed
http://www.freedesktop.org/wiki/Software/systemd/hostnamed
2011-04-16 02:03:35 +02:00
Lennart Poettering
151b190e79 binfmt: add binfmt tool to set up binfmt_misc at boot 2011-04-04 03:36:42 +02:00
Lennart Poettering
2a796654b9 getty: move automatic serial getty logic into generator 2011-03-15 00:45:46 +01:00
Lennart Poettering
8821347618 nspawn: add simple chroot(1) like tool to execute commands in a namespace container 2011-03-14 03:12:25 +01:00
Lennart Poettering
a8f11321c2 systemctl: support remote and privileged systemctl access via SSH and pkexec
This adds support for executing systemctl operations remotely or as
privileged user while still running systemctl itself unprivileged and
locally.

This currently requires a D-Bus patch to work properly.

https://bugs.freedesktop.org/show_bug.cgi?id=35230
2011-03-12 01:07:17 +01:00
Andrey Borzenkov
0992bbd109 add .vimrc to .gitignore 2011-03-07 19:25:15 +01:00
Lennart Poettering
d7ccca2e3f main: introduce /etc/machine-id
This is supposed to play the same roles /var/lib/dbus/machine-id,
however fixes a couple of problems:

- It is available during early boot since it is stored in /etc

- Removes the ID from the D-Bus context and moves it into a system
  context, thus hopefully lowering hesitation by people to use it.

- It is generated at installation time. If the file is empty at boot
  time it will be mounted over with a randomly generated ID, which is
  not saved to disk. This is useful to support state-less machines with
  no transient or writable /etc configuration.
2011-03-04 21:53:19 +01:00
Lennart Poettering
07faed4f99 virtualization: beef virtualization code 2011-02-21 21:48:59 +01:00
Lennart Poettering
8e1bd70d4c sysctl: implement native sysctl tool to support Debian-style /etc/sysctl.d 2010-11-18 21:52:26 +01:00
Lennart Poettering
f90cf44c02 load-fragment: properly do comparison of words 2010-11-14 19:59:10 +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
e23a0ce8ba cryptsetup: minimal cryptsetup unit generator 2010-11-10 22:38:43 +01:00
Lennart Poettering
ec863ba65a ask-password: add basic tty agent 2010-10-25 20:36:01 +02:00
Lennart Poettering
3d20ed6d51 fsck: add initial version of fsck and quotacheck wrappers 2010-10-19 21:19:12 +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
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
Lennart Poettering
bfaf42d22b tmpfiles: rename tempfiles to tmpfiles since this isn't windows 2010-09-28 22:11:27 +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
22be093ffb readahead: implement minimal readahead logic based on fanotify(), mincore() and readahead() 2010-09-23 15:02:13 +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
97c4a07df9 vconsole: add new utility to initialize the virtual console 2010-09-16 00:36:41 +02:00
Lennart Poettering
93a45c562a serial: use seperate getty template for serial ttys 2010-08-25 03:09:57 +02:00
Lennart Poettering
addab137cd syslog: add minimal syslog/kmsg bridge syslogd 2010-08-21 03:57:47 +02:00
Lennart Poettering
449ddb2d23 remount: add tool that applies /etc/fstab mount options to all api mounts 2010-08-20 03:26:15 +02:00
Lennart Poettering
e59077036b hostname: on all distros make the name configured in /etc/hostname take precedence over distro-specific configuration
In order to unify configuration across distributions we pick the
simple-most option by default (Debian's /etc/hostname) and then fall
back to distro-specific hacks if that doesn't exist.
2010-08-19 03:02:22 +02:00
Lennart Poettering
b2423f1f43 modules-load: add systemd-modules-load tool that can load a configured list of modules in /etc/modules.d/ on boot, replacing distro-dependent shell hacks for this 2010-08-19 02:03:17 +02:00
Lennart Poettering
5192bd1945 auto-getty: rework auto console getty logic to work in conjunction with single user mode 2010-08-17 03:29:46 +02:00
Lennart Poettering
f614480831 systemctl: add support for delayed shutdown, similar to sysv in style 2010-08-16 15:37:52 +02:00
Lennart Poettering
6e200d55ae random-seed: add missing random-seed.c file 2010-08-14 21:23:26 +02:00
Lennart Poettering
4927fcae48 audit,utmp: implement audit logic and rip utmp stuff out of the main daemon and into a helper binary 2010-08-11 01:44:38 +02:00
Lennart Poettering
50f2a90dae update fixme 2010-07-21 20:26:44 +02:00
Lennart Poettering
fa776d8e96 cgls: beef up control group dumping and introduce cgls tool 2010-07-08 21:01:42 +02:00
Lennart Poettering
359957ee23 man: document runlevel and systemd-install 2010-06-23 01:49:57 +02:00
Lennart Poettering
f9378423b9 man: document sd-daemon.[ch] 2010-06-23 00:31:54 +02:00
Lennart Poettering
8c6db83365 pam: implement systemd PAM module and generelize cgroup API for that a bit 2010-06-21 23:27:18 +02:00
Lennart Poettering
514f4ef52f systemctl: add verbs for special units 2010-06-18 04:22:59 +02:00
Lennart Poettering
4a2a8b5a82 notify: add systemd-notify command line tool 2010-06-17 22:50:06 +02:00
Lennart Poettering
8c47c7325f notify: add minimal readiness/status protocol for spawned daemons 2010-06-16 05:10:31 +02:00
Lennart Poettering
10e87ee7f6 install: add systemd-install tool for managing alias/wants symlinks 2010-06-16 01:58:50 +02:00
Lennart Poettering
4288f61921 dbus: automatically generate and install introspection files 2010-05-23 03:45:33 +02:00
Lennart Poettering
9f23530860 man: document a few special units 2010-05-16 22:45:11 +02:00
Lennart Poettering
dfac97b21e build-sys: generate intermediate files in subdirs 2010-05-16 19:09:22 +02:00
Lennart Poettering
d1ab0ca073 man: add some initial man page work 2010-05-15 23:06:41 +02:00
Lennart Poettering
af5bc85dc1 loopback: configure lo device on bootup 2010-05-09 18:02:38 +02:00
Lennart Poettering
58c1665322 gitignore: ignore files ending in ~ 2010-05-06 22:12:16 +02:00
Lennart Poettering
15ae422b74 execute: support basic filesystem namespacing 2010-04-21 22:15:06 +02:00
Lennart Poettering
70fcff314f units: install a few basic units by default 2010-04-13 05:18:12 +02:00
Lennart Poettering
0b7964b804 sysv: implement /dev/initctl compatibility 2010-04-04 22:53:42 +02:00
Lennart Poettering
8e27452380 cgroup: add cgroupsification 2010-03-31 16:29:55 +02:00
Lennart Poettering
380bc8790d git: ignore Makefile 2010-02-13 01:17:29 +01:00
Lennart Poettering
47be870bd8 build: basic autoconfization 2010-02-03 14:21:48 +01:00
Lennart Poettering
501c7d0b77 systemadm: implement basic control UI systemadm 2010-02-03 12:40:09 +01:00
Lennart Poettering
5630af71d7 client: add a very basic Vala command line tool 2010-02-02 22:22:51 +01:00
Lennart Poettering
b52429d4e0 implement trivial socket activated logger daemon 2010-01-27 22:43:50 +01:00
Lennart Poettering
1ffba6fe82 fix job merging 2010-01-21 00:51:37 +01:00
Lennart Poettering
6a66a1af45 update gitignore 2010-01-20 18:27:25 +01:00
Lennart Poettering
6091827530 initial commit 2009-11-18 00:42:52 +01:00