История изменений
Исправление e7z0x1, (текущая версия) :
Есть разница между «сложно устроенный» и «перегруженный». У него из обязательных зависимостей только glibc, libcap и dbus. Собсно вот:
Well, bloated certainly has many different definitions. But in
most definitions systemd is probably the opposite of bloat.
Since systemd components share a common code base, they tend
to share much more code for common code paths. Here's an
example: in a traditional Linux setup, sysvinit, start-
stop-daemon, inetd, cron, dbus, all implemented a scheme to
execute processes with various configuration options in a
certain, hopefully clean environment. On systemd the code
paths for all of this, for the configuration parsing, as well
as the actual execution is shared. This means less code, less
place for mistakes, less memory and cache pressure, and is
thus a very good thing. And as a side-effect you actually get
a ton more functionality for it...
As mentioned above, systemd is also pretty modular. You can
choose at build time which components you need, and which you
don't need. People can hence specifically choose the level of
"bloat" they want.
When you build systemd, it only requires three dependencies:
glibc, libcap and dbus. That's it. It can make use of more
dependencies, but these are entirely optional.
So, yeah, whichever way you look at it, it's really not bloated.
Исходная версия e7z0x1, :
Есть разница между «сложно устроенный» и «перегруженный». У него из обязательных зависимостей только glibc, libcap и dbus. Собсно вот:
Well, bloated certainly has many different definitions. But in most definitions systemd is probably the opposite of bloat. Since systemd components share a common code base, they tend to share much more code for common code paths. Here's an example: in a traditional Linux setup, sysvinit, start-stop-daemon, inetd, cron, dbus, all implemented a scheme to execute processes with various configuration options in a certain, hopefully clean environment. On systemd the code paths for all of this, for the configuration parsing, as well as the actual execution is shared. This means less code, less place for mistakes, less memory and cache pressure, and is thus a very good thing. And as a side-effect you actually get a ton more functionality for it...
As mentioned above, systemd is also pretty modular. You can choose at build time which components you need, and which you don't need. People can hence specifically choose the level of "bloat" they want.
When you build systemd, it only requires three dependencies: glibc, libcap and dbus. That's it. It can make use of more dependencies, but these are entirely optional.
So, yeah, whichever way you look at it, it's really not bloated.