Материалы по многострадальному usr и Леннарту Поттерингу

Материал из MediaWiki
Перейти к навигации Перейти к поиску


Да, вот эти ребята…

Добавляйте свои ссылки на материалы по инновациям/проблемам в Linux, (не)безосновательно затронутыми(созданными) Поттерингом и другими

Среди них:

  • проблема отдельного /usr, сломанного давно (еще до Леннарта)
  • перенос /bin и /sbin в /usr; /run и другие инновации в FHS
  • systemd как альтернатива sysvinit и другим системам загрузки
  • systemd как BLOB, слияние с udev и прочие конгломерады
  • бинарные логи совместно с классическими при использовании journald/systemd (или даже вместо)
  • жизнь без initrd в новом веке
  • GNOME 3







 * Wed Feb 29 2012 mvyskocil@suse.cz
  - remove pointless systemd dependency and run the tmpfiles binary
    only in case it exists
 * Wed Dec 07 2011 aj@suse.de
  - Move require of systemd to base package since the base postinstall
    needs it.



Разное (w/ критика)

  • Цитаты:
As a trivial example: systemd creates user session information in /run/user/$user. I brought up with lennart the fact that this would only permit one session per user. He rejected out of hand the fact that more than one session would ever be needed, because Gnome only allowed one session per user.

Polkit is an example of this: we have a patch to make systemd optional
at runtime, we request users to test it, and instead of testing it we
end up with a 300+ posts thread about how bad Lennart is, with nearly
no-one trying to investigate what is wrong about the patch and in which
situations it doesn't work.


Немного о важных пакетах

Данная статья или раздел ещё не завершены
Кто-то посчитал, что статья или раздел ниже не содержит какой-то важной информации или имеет проблемы с вёрсткой/текстом. Указана причина: Англоцитота. Нужно срочно перевести это (или выпилить){{#ifeq: {{{1}}} | nopoint | | . }}

{{#if: Доработка | }}

  • sysvinit — System V style init programs original written by Miquel van Smoorenburg that control the booting and shutdown of your system. init (short for initialization) is a program for Unix-based computer operating systems that spawns all other processes. It runs as a daemon and typically has PID 1. The boot loader starts the kernel and the kernel starts init.
    • systemd is a system and service manager for Linux, compatible with SysV and LSB init scripts. systemd provides aggressive parallelization capabilities, uses socket and D-Bus activation for starting services, offers on-demand starting of daemons, keeps track of processes using Linux cgroups, supports snapshotting and restoring of the system state, maintains mount and automount points and implements an elaborate transactional dependency-based service control logic. It can work as a drop-in replacement for sysvinit.
    • upstart is an event-based replacement for the /sbin/init daemon which handles starting of tasks and services during boot, stopping them during shutdown and supervising them while the system is running. It was originally developed for the Ubuntu distribution, but is intended to be suitable for deployment in all Linux distributions as a replacement for the venerable System-V init.
  • initramfs-tools — this package contains tools to create and boot an initramfs for prepackaged 2.6 Linux kernel. The initramfs is an cpio archive. At boot time, the kernel unpacks that archive into ram, mounts and uses it as initial root file system. From there on the mounting of the real root file system occurs in user space. klibc handles the boot-time networking setup. Supports nfs root system. Any boot loader with initrd support is able to load an initramfs archive. Having the root on MD, LVM2, LUKS or NFS is also supported.
    • dracut — unlike existing initramfs's, this is an attempt at having as little as possible hard-coded into the initramfs as possible. The initramfs has (basically) one purpose in life — getting the rootfs mounted so that we can transition to the real rootfs. This is all driven off of device availability. Therefore, instead of scripts hard-coded to do various things, we depend on udev to create device nodes for us and then when we have the rootfs's device node, we mount and carry on. Having the root on MD, LVM2, LUKS is supported as well as NFS, iSCSI, NBD and FCOE with dracut-network.
  • udev is the device manager for the Linux kernel. Primarily, it manages device nodes in /dev. It is the successor of devfs and hotplug, which means that it handles the /dev directory and all user space actions when adding/removing devices, including firmware load.
    • hotplug is a system for managing devices that can be dynamically attached to and removed from the system while it's running. The most obvious use for this system is handling USB and firewire devices, though it also handles PCI (32-bit PCMCIA - or CardBus - devices are really PCI in disguise), tape drives, SCSI devices, devices requiring firmware to be loaded into them, input devices, and more. Obsolete.
    • HAL was a software project providing a hardware abstraction layer for Unix-like computer systems. It aimed to allow desktop applications to discover and use the hardware of the host system through a simple, portable and abstract API, regardless of the type of the underlying hardware. HAL is now deprecated on GNU/Linux systems, with functionality being merged into udev as of 2008–2010. HAL is in maintenance mode - no new features are added. All future development focuses on udisks, upower and other parts of the stack. HAL -> udev/udisks/other
  • Rsyslog is an enhanced multi-threaded syslogd with a focus on security and reliability. Among others, it offers support for on-demand disk buffering, reliable syslog over TCP, SSL, TLS and RELP, writing to databases, email alerting. It is a drop-in replacement for syslogd.
  • D-Bus is a message bus system, a simple way for applications to talk to one another. In addition to interprocess communication, D-Bus helps coordinate process lifecycle; it makes it simple and reliable to code a "single instance" application or daemon, and to launch applications and daemons on demand when their services are needed.
  • PolicyKit is an application-level toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes: It is a framework for centralizing the decision making process with respect to granting access to privileged operations for unprivileged applications. PolicyKit is specifically targeting applications in rich desktop environments on multi-user UNIX-like operating systems. It does not imply or rely on any exotic kernel features.
  • ConsoleKit is a framework for defining and tracking users, login sessions, and seats. ConsoleKit is currently not actively maintained. The focus has shifted to the built-in seat/user/session management of Software/systemd called systemd-loginctl
  • udisks project provides: a daemon, udisksd, that implements well-defined D-Bus interfaces that can be used to query and manipulate storage devices; a command-line tool, udisksctl (udisks2), that can be used to query and use the daemon.
  • upower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. UPower aims to make a large chunk of HAL redundant, as HAL is officially deprecated. UPower is also useful to control the latency of different operations on your computer, which enables you to save significant amounts of power.
  • Avahi is a system which facilitates service discovery on a local network via the mDNS/DNS-SD protocol suite. This enables you to plug your laptop or computer into a network and instantly be able to view other people who you can chat with, find printers to print to or find files being shared. Compatible technology is found in Apple MacOS X (branded Bonjour and sometimes Zeroconf).
  • PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for your sound applications. It allows you to do advanced operations on your sound data as it passes between your application and your hardware. Things like transferring the audio to a different machine, changing the sample format or channel count and mixing several sounds into one are easily achieved using a sound server.