LINUX.ORG.RU

systemd 219

 


2

4

16 февраля был представлен очередной релиз системного менеджера systemd, совмещающего в себе функции системы инициализации, ведения журнала, управления сессиями пользователей и работы с контейнерами. systemd основан на модели зависимостей (в противовес событийной модели), производит отслеживание процессов запущенных сервисов при помощи механизма cgroups ядра Linux, поддерживает механизмы сокет- и dbus-активации сервисов и предоставляет удобный декларативный синтаксис для описания демонов и других сущностей. Это позволяет производить агрессивную параллелизацию при запуске и остановке сервисов.

В рамках проекта также разрабатывается ряд легковесных приложений и демонов, выполняющих второстепенные, но распространённые вспомогательные задачи (т. н. plumbing layer) — от настройки подсистемы VT (systemd-vconsole-setup) и первичного конфигурирования системы (systemd-firstboot) до управления сетью (systemd-networkd) и профилирования загрузки (systemd-bootchart).

Большая часть изменений, вошедших в этот релиз, была направлена на расширение возможностей по работе с контейнерами. Эти изменения сконцентрированы в компонентах systemd-machined и systemd-nspawn и нескольких сопутствующих утилитах.

Примечание переводчика: в плане новых контейнерных фич релиз получился крайне сырой; по факту мало что работает. Такое ощущение, что они тупо сделали промежуточный тарболл, чтобы заиметь чуть побольше тестеров.

Изменения в ядре systemd:

  • При остановке mount-юнита, соответствующего директории, на которую примонтировано более одного устройства, теперь производится отмонтирование всех устройств на этой точке монтирования. [Раньше, надо полагать, отмонтировалось только последнее. Более того, примонтировать несколько устройств на одну директорию средствами mount-юнитов по-прежнему невозможно. — Прим. пер.]
  • device-юниты, соответствующие приводам оптических дисков, теперь считаются активными только при наличии диска в приводе.
  • Все mount-юниты теперь автоматически получают зависимость BindsTo= от «своих» device-юнитов. Вкупе с предыдущим изменением это обеспечивает автоматическое [небезопасное, но так хотя бы /etc/mtab не захламляется — Прим. пер.] отмонтирование дисков и других носителей при их извлечении.
  • Введена концепция «неподдерживаемых» типов юнитов. Так, например, при попытке активировать busname-юнит на системе без kdbus он будет помечен как сбойный с комментарием «unsupported».

    Список типов юнитов, не поддерживаемых на некоторых конфигурациях:

    • .busname — на системах без kdbus;
    • .swap — в контейнерах; на системах с CONFIG_SWAP=n;
    • .automount — в контейнерах; на системах с CONFIG_AUTOFS4_FS=n;
    • .device — в контейнерах.
  • Суммарное потребление памяти всеми процессами юнита (атрибут memory.usage_in_bytes соответствующей контрольной группы) теперь экспортируется как свойство MemoryCurrent объекта юнита на шине и отображается в выводе команды systemctl status. Например:
    $ systemctl status systemd-journald
    ● systemd-journald.service - Journal Service
    [...]
     Main PID: 210 (systemd-journal)
       Status: "Processing requests..."
       Memory: 90.4M
    [...]
    
    $ busctl introspect org.freedesktop.systemd1 /org/freedesktop/systemd1/unit/systemd_2djournald_2eservice org.freedesktop.systemd1.Service
    NAME                                TYPE      SIGNATURE      RESULT/VALUE                             FLAGS
    [...]
    .MemoryAccounting                   property  b              true                                     -
    .MemoryCurrent                      property  t              94887936                                 -
    [...]
    

    [Стоит отметить, что это свойство отражает суммарный RSS и объём файлового кэша процессов в контрольной группе. Также, разумеется, это возможно только при задействовании контроллера memcg, т. е. CONFIG_MEMCG=y в конфигурации ядра и DefaultMemoryAccounting=true в /etc/systemd/system.conf. — Прим. пер.]

  • Генераторы юнитов теперь можно маскировать (по аналогии с самими юнитами), размещая в /{etc,run}/systemd/system-generators/ пустые файлы (или симлинки на /dev/null).
  • Для юнитов, присоединённых к терминалу (StandardInput=tty, StandardOutput=tty), будет автоматически устанавливаться переменная окружения TERM=vt220 (вместо vt102, как было ранее). Это должно исправить ошибки в приложениях, использующих нетривиальные возможности терминала (например, клавиши PgUp/PgDn).
  • Добавлен механизм, позволяющий процессам «сохранять» в PID 1 открытые файловые дескрипторы (например, на время собственного перезапуска). Эта возможность уже задействована в systemd-journald для того, чтобы избежать потери сообщений при перезапуске.

    Таким образом, все три «ключевых» компонента systemd (systemd, logind, journald) теперь способны перезапускаться с сохранением состояния.

    Технически этот механизм реализован через расширение API sd_notify(3) (функция sd_pid_notify_with_fds()). Для прикрепления файловых дескрипторов к сообщению используется концепция fd passing, а само сообщение должно содержать строку FDSTORE=1.

    Количество файловых дескрипторов, которое процессы юнита могут единовременно «сохранить» таким образом, ограничивается значением директивы FileDescriptorStoreMax= в секции [Service] unit-файлов (по умолчанию 0, т. е. нисколько).

  • Нажатие Ctrl-Alt-Del более семи раз в течение двух секунд теперь вызывает аварийный перезапуск системы, эквивалентный результату выполнения systemctl reboot -f (т. е. при этом все процессы завершаются, а файловые системы демонтируются или переводятся в режим «только для чтения»). Этот механизм стоит рассматривать как более «щадящую» альтернативу Alt-SysRq-B.
  • В файле /etc/crypttab (за его обработку отвечает systemd-cryptsetup-generator) добавлена поддержка параметра header= (как в Debian). Этот параметр позволяет указать расположение LUKS-заголовка, если он хранится на отдельном устройстве.
  • При копировании куда-либо каких-либо файлов (например, в контексте действия C в systemd-tmpfiles) компоненты systemd теперь сначала пытаются создавать reflink (на тех ФС, которые это поддерживают, в частности, btrfs и ocfs2). При отсутствии поддержки выполняется обычное копирование.

Изменения в утилитах и вспомогательных компонентах:

  • Команды loginctl user-status, loginctl session-status и machinectl status теперь также выводят (подобно systemctl status) последние несколько строчек из лога, ассоциированных с данным пользователем, сессией или контейнером соответственно. При этом в последнем случапе имеется в виду не внутренний лог самого контейнера, а лог того юнита, в котором он запущен (т. е., например, вывод systemd-nspawn).
  • Все подкоманды loginctl, которые принимают в качестве аргумента идентификатор сессии или имя пользователя (например, две вышеупомянутые), теперь могут быть вызваны без аргумента. В этом случае они применяются к той сессии, в которой (к тому пользователю, от имени которого) запущены.
  • В systemd-run добавлен параметр командной строки -t (--pty), позволяющий перенаправить ввод/вывод запускаемого процесса в текущую консоль (при этом он всё равно запускается как дочерний процесс systemd). Стоит отметить, что это также поддерживается при запуске процесса в другом контейнере.

    Например, команда systemd-run -t /bin/bash запустит рутовую оболочку в обход PAM и регистрации сессии.

  • В systemd-tmpfiles добавлено действие v — создание btrfs subvolume по указанному пути. В случае невозможности (если используется другая ФС) создаётся обычная директория (эквивалентно действию d).
  • В systemd-tmpfiles добавлено действие a — назначение файлу заданных ACL.
  • В комплект поставки включён скрипт для xinitrc.d, который сообщает systemd --user текущие значения переменных $DISPLAY и $XAUTHORITY. Это позволит «из коробки» запускать с помощью systemd --user графические приложения, взаимодействующие с X-сервером.

    [При этом никаких дополнительных зависимостей не проставляется, поэтому при завершении работы X-сервера все эти приложения не будут корректно прибиты и упадут вслед за сервером. Но лучше так, чем никак. Ждём, пока кто-нибудь придумает, как вписать иксы или вейланд в эту концепцию. — Прим. пер.]

  • В спецификацию формата файла /etc/os-release добавлено новое поле PRIVACY_POLICY_URL=, позволяющее создателям дистрибутива указать ссылку на его Privacy Policy.

Изменения в udev:

  • Часть API libudev, относящаяся к работе с hwdb (декларативной базой данных оборудования), вынесена в отдельную библиотеку sd-hwdb (заголовочный файл sd-hwdb.h), отделённую от libudev.

    Также добавлена вспомогательная утилита systemd-hwdb, позволяющая взаимодействовать с этой базой данных (пересобирать и производить тестовые запросы).

  • Эта самая hwdb теперь включает в себя информацию о «разрешающей способности» колёс прокрутки мышей (что-то вроде «повороту на какой угол соответствует одно событие») и различные сведения о тачпадах.

    [Напомню, что в версии 218 в hwdb начали собирать информацию о разрешающей способности самих оптических сенсоров мышей. Это делается для того, чтобы настройки ускорения курсора и скорости прокрутки работали одинаково на любом оборудовании. Разумеется, необходима поддержка этих свойств со стороны того, кто будет обрабатывать события с устройств ввода; насколько мне известно, это пилят в libinput. — Прим. пер.]

  • Физические размеры сенсорных экранов теперь отражены в атрибутах соответствующих им устройств ввода.

Изменения в journald:

  • systemd-journald теперь устанавливает btrfs-специфичный флаг FS_NOCOW на файлах журнала. Это должно повысить производительность на btrfs, поскольку типичная последовательность обращений к этим файлам [то, как journald работает с этими файлами] достаточно плохо ложится на механизм Copy-on-Write.

    Побочный эффект состоит в том, что также отключается btrfs-специфичный механизм проверки целостности файлов. Однако, это не является проблемой, поскольку формат файла журнала предусматривает собственный механизм контрольных сумм.

    Ещё одно изменение состоит в том, что systemd-journald теперь более корректно обрабатывает события переполнения диска (а именно — сигнал SIGBUS для файлов, отображённых в память) в тех случаях, когда использование fallocate(2) по тем или иным причинам не гарантирует выделения места. [Видимо, имеются в виду Copy-on-Write-ФС, отличные от btrfs. — Прим. пер.]

  • При удалении текущего файла журнала (того, в который сейчас ведётся запись) systemd-journald теперь это замечает и немедленно начинает запись в новый файл.

В networkd добавлена поддержка:

  • FDB-таблиц для соединений типа «мост» (секция [BridgeFDB] network-файлов);
  • сбора LLDP-оповещений (отображаются в выводе утилиты networkctl);
  • нескольких новых типов виртуальных сетевых устройств, а именно ipvlan, gretap, ip6gre, ip6gretap и ip6tnl (директива Kind= секции [NetDev] netdev-файлов);
  • автонастройки link-local IPv6-адресов (директива LinkLocalAddressing= секции [Network] network-файлов);
  • настройки перенаправления и маскарадинга IPv4/IPv6 отдельно для каждого интерфейса (директивы IPForward=, IPMasquerade= секции [Network] network-файлов);
  • явного задания scope (global, link, host) для создаваемых маршрутов (директива Scope= секции [Route] network-файлов);
  • явного задания нижних 64 бит IPv6-адреса при задействовании SLAAC (директива IPv6Token= секции [Network] network-файлов);
  • перечислений и wildcard'ов в директивах секции [Match] всех файлов конфигурации.

    [например, можно указать список MAC-адресов, к которым нужно применить link-файл, или же что-то вроде Name=en* — Прим. пер.]

Другие изменения в networkd:

  • Утилита systemd-networkd-wait-online теперь позволяет указывать подмножество интерфейсов, настройки которых требуется дождаться, и таймаут этого ожидания.
  • systemd-networkd теперь автоматически завершается, когда ему нечего делать (это случается, когда все присутствующие интерфейсы либо не требуют настройки, либо конфигурируются статически). При появлении в системе новых интерфейсов networkd запускается заново, для чего используется вариант механизма сокет-активации.

Изменения, связанные с поддержкой контейнеров:

  • Директория /var/lib/containers, предназначенная для хранения файловых систем контейнеров и образов ВМ, переименована в /var/lib/machines ради единообразия терминологии.
  • Добавлен юнит machines.target, группирующий все автозапускаемые контейнеры в системе.
  • В утилите systemd-nspawn добавлены следующие параметры командной строки:
    • --template (только btrfs) — указание эталонного дерева ФС, которое будет скопировано в корневую директорию контейнера (--directory) в случае отсутствия последней;
    • --ephemeral (только btrfs) — запуск контейнера без внесения изменений в его корневую директорию посредством создания временного btrfs-снапшота этой директории (например, можно сделать systemd-nspawn --ephemeral --directory / и запустить в контейнере копию ОС хоста, не мешая самому хосту);
    • --image — запуск контейнера из образа диска с таблицей разделов MBR или GPT (при этом раздел должен быть один — или, в случае GPT, все разделы должны быть помечены согласно спецификации);
    • --machine, -M — запуск контейнера из дерева ФС или из образа c указанным именем в /var/lib/machines;
    • --network-veth, -n — создание для контейнера собственного veth-интерфейса (теперь для этих интерфейсов по умолчанию задействована вышеописанная директива IPMasquerade=yes, что даёт контейнеру доступ ко всем сконфигурированным на хосте сетям);
    • --port, -p — «проброс» указанного порта из контейнера в хост-систему (в сочетании с --network-veth это позволяет запускать в контейнерах серверные приложения так, как будто они запущены на хосте).
  • Прочие изменения в systemd-nspawn:
    • На директорию /tmp внутри контейнера теперь автоматически монтируется tmpfs
    • Реализована защита от повторных запусков одного и того же образа (read-write блокировка)
    • Почти вся иерархия контрольных групп (/sys/fs/cgroup) теперь отображается внутрь контейнеров (в режиме read-only, за исключением собственного поддерева контейнера)
  • В команде machinectl, предназначенной для взаимодействия с менеджером контейнеров systemd-machined, добавлены следующие подкоманды:
    • machinectl list-images, machinectl image-status — отображение информации об образах контейнеров в /var/lib/machines;
    • machinectl start — запуск контейнера с помощью systemd-nspawn -M (эквивалент systemctl start systemd-nspawn@<имя>);
    • machinectl clone (только btrfs), machinectl rename, machinectl read-only, machinectl remove — различные операции с образами в /var/lib/machines;
    • machinectl copy-from, machinectl copy-to — копирование файлов из контейнера на хост или в обратном направлении;
    • machinectl bind (только systemd-nspawn) — bind-монтирование директорий из хоста в контейнер;
    • machinectl pull-tar, machinectl pull-raw, machinectl pull-dkr (на данный момент только btrfs) — загрузка и распаковка в /var/lib/machines, соответственно, архивов ФС, образов дисков и образов Docker.
  • Последние три подкоманды, предназначенные для загрузки образов контейнеров из Интернета, обеспечивают реализованы посредством нового демона — systemd-importd. Он обеспечивает загрузку данных в фоновом режиме.

P. S.: Да будет срач.

>>> Объявление о релизе

★★★★★

Проверено: beastie ()

Ответ на: комментарий от intelfx

Кнопка закрытия окна в верхнем правом углу.

Толсто, из-за одной новости про ненужно весь ЛОР закрывать :)

RedEyedMan4 ★★★★★ ()

«Побочный эффект состоит в том, что также отключается btrfs-специфичный механизм проверки целостности файлов. Однако, это не является проблемой, поскольку формат файла журнала предусматривает собственный механизм контрольных сумм.» тоесть поттеринг таки признал что заявленой цели «более быстрая загрузка» он не достиг ? и единственным оставшимся выходом является отключение стандартных мехнизмов обеспечения целосности? что закономерно приведет к тем же проблемам которые возникают при гибернейте (те к разносу файловой системы при неудачном стечнии обстоятельств)

anonymous ()
Ответ на: комментарий от intelfx

Кнопка закрытия окна в верхнем правом углу.

У него, скорее всего, в верхнем левом, ЕВПОЧЯ. ☺

Axon ★★★★★ ()

Примечание переводчика: в плане новых контейнерных фич релиз получился крайне сырой; по факту мало что работает. Такое ощущение, что они тупо сделали промежуточный тарболл, чтобы заиметь чуть побольше тестеров.

Вот и не лениво же тебе было все это переводить. Ну да ладно, на радость тестеров, поднимем бокалы за SystemD!

RedEyedMan4 ★★★★★ ()
Ответ на: комментарий от intelfx

Вот столько слов а ответа нет, ты пальцем тыкать тыкай, да на себя погляди. Сам «Ко-ко»кать не побрезговал.

anonymous ()
Ответ на: комментарий от ValdikSS

Мне больно смотреть на то, как люди всерьез называют его злом.

Потому, что это зло по определению. Фатальная беда в том, что это комбайн. Разноплановые компоненты, которые в принципе связаны не должны быть, собираются из одного дерева исходников и обновляются, из-за этого, «все вдруг». И все эти ваши объяснения вида «systemd модульный», «можно не ставить» и т. п. идут лесом в силу всего лишь описанной проблемы - общего дерева для кучи компонентов, которые не должны быть связаны.

AS ★★★★★ ()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от ValdikSS

например, какие задачи он решает и как помогает интеграции DE

Зачем системе инициализации интегрироваться в DE или наоборот? Мне почему то вспомнились windows 95 и 98, в которых графическое окружение было в ядре. Осталось только интегрировать Gnome, pulseaudio и systemd так что бы они по отдельности не могли работать. А заменителей и альтернатив им не было. Типа хочешь systemd, не в смысле «хочешь», а в смысле это единственный вариант, то вынужден поставить ещё и половину Gnome.

Агрессивно навязываемая безысходность и безальтернативность.

rezedent12 ☆☆☆ ()
Ответ на: комментарий от intelfx

Потому что замучаешься объяснять и доказывать нужность

О-хо-хо )). Да, это про systemd. Про него. В точку!
Лучше нельзя было сказать!

потому что ему и вправду не нужно

Бинго! Все правильно говоришь!

Kroz ★★★★★ ()

Нажатие Ctrl-Alt-Del более семи раз в течение двух секунд

С одной стороны гнум, пытающийся пропихнуть поддержку инвалидов где можно и где нельзя (нет, я не считаю, что это плохо или нежелательно — но, млин, можно было бы сделать и нормальное _отлючение_ всего этого для пользователей ПО на гтк (не гнумовцев). Благо, все равно под это дело желательно запилить соответсвенно сконфигурированное ДЕ или дистр, примотать скотчем какую-то переменную среды итд итп.  — но не тупо запускать всякие ат-спи и.т.д сервисы при запуске приложения на гтк)
С другой стороны — Леня.

теперь вызывает аварийный перезапуск системы, эквивалентный результату выполнения systemctl reboot -f

Так чем SysRq не угодил? Или обязательно нужно сделать «как в венде!»?

anonymous ()
Ответ на: комментарий от mbivanyuk

У меня и без поделия всё загружалось и работало. Даже Mandrake 8. Так вот если что-то работает, зачем из этого делать монстра? Этот систем д - как выхлоп графомана, большая часть кода - ради кода. По факту можно и нужно обходится без этого говна.

PS: я бы посмотрел, как ты е**ся запихивая systemd + busybox + ядро на дисковое пространство размером с дискету.

CynicRus ()

в противовес некоторым комментаторам:

Я читал и осуждаю

лучше бы не читал

reprimand ★★★★★ ()
Ответ на: комментарий от torvn77

На это маленькие оголтелые фанатики могу сказать лишь что-то типа «на KDE посмотри!». При этом их совсем не ипет то, что KDE «всего-лишь» НЕСИСТЕМНОЕ графическое окружение, которое можно поставить даже на офтопик.

metawishmaster ★★★ ()
Ответ на: комментарий от intelfx

То-есть в строку записать нужные данные не осилили? Надо к строке лишних байтов понапихать?-) А потом к этому делу парсер напилисть. Зачем?

CynicRus ()
Ответ на: комментарий от torvn77

А что мешает тем, кому не по душе systemd просто его не использовать, а использовать дистрибутив не использующий systemd?

lucentcode ★★★★★ ()
Ответ на: комментарий от CynicRus

чтоб системд выглядел еще более внушительнее и навороченнее, а про «продуманнее» все забыли...

metawishmaster ★★★ ()
Ответ на: комментарий от lucentcode

честно скажу, я не хочу сваливать с Debian'а... но я уже свыкся, что прйдется %(

metawishmaster ★★★ ()
Ответ на: комментарий от rezedent12

Агрессивно навязываемая безысходность и безальтернативность.

Кем? Только давай по существу. Кто навязал systemd в Debian? Arch? Fedora? Gentoo?

anonymous ()

Я вашу эту новость мотать задолбался. В книгу рекордов гиннеса хоть попал?

trueshell ★★★★★ ()
Ответ на: комментарий от intelfx

Ну опять же, код ради кода. Это ведь лог, а не попытка записать вселенную при загрузке.

CynicRus ()
Ответ на: комментарий от CynicRus

Не понял.

Это против чего аргумент? Против того, что нельзя обойтись просто текстом сообщения, и нужны дополнительные поля? Тут ответ прост — удобнее и надёжнее, когда эти поля не требуется извлекать из текста ad-hoc парсерами, а когда они изначально хранятся отдельно.

intelfx ★★★★★ ()
Ответ на: комментарий от lucentcode

Жир и зеленый цвет кожи. И еще давление.

Вот так подколешь человека,
И начинает лезть говно.
Видать давление большое,
И шкуру недонарастил.

Kiborg ★★★ ()
Ответ на: комментарий от intelfx

Это к тому, что простые вещи сознательно усложняются более в угоду тщеславию, чем ради практической пользы.

CynicRus ()
Ответ на: комментарий от CynicRus

Нет, это твоё субъективное и (на данный момент) необоснованное суждение. Практическую пользу хранения дополнительных полей я обозначил. Необходимость использования собственного формата описана в документах, ссылки на которые я привёл. Необходимость использования вообще какого-либо бинарного формата следует из желания индексировать записи по всем полям.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от ee1337a

идеи своего говнокода

Вы че? Это же прекрасный код!
http://cgit.freedesktop.org/systemd/systemd/tree/src/shared/unit-name.c?id=82...

strcpy(mempcpy(mempcpy(r, f, a + 1), i, b), e);
http://cgit.freedesktop.org/systemd/systemd/tree/src/shared/unit-name.c?id=82...
                ret = new(char, (e - slice) + 1 + strlen(name) + 6 + 1);
                if (!ret)
                        return -ENOMEM;

                stpcpy(stpcpy(stpcpy(mempcpy(ret, slice, e - slice), "-"), name), ".slice");
C гарантией, что опции конфига не будут менятся как минимум очень долго :) http://cgit.freedesktop.org/systemd/systemd/tree/src/cryptsetup/cryptsetup.c#...
} else if (startswith(option, "tcrypt-keyfile=")) {

                arg_type = CRYPT_TCRYPT;
                if (path_is_absolute(option+15)) {
                        if (strv_extend(&arg_tcrypt_keyfiles, option + 15) < 0)
                                return log_oom();
                } else
                        log_error("Key file path '%s' is not absolute. Ignoring.", option+15);
К тому же, очевиден отличный подход к разработке:
https://bugs.freedesktop.org/show_bug.cgi?id=74589#c2

bug

if (path_is_mount_point("/sys/fs/cgroup/systemd", false) <= 0) {
                log_warning("No control group support available, not creating root group.");
                return 0;
        }

But later it dies due to a NULL pointer exception in unit_default_cgroup_path().

Lennart

To make this work we'd need a patch, as nobody of us tests this.

anonymous ()
Ответ на: комментарий от anonymous

Так чем SysRq не угодил? Или обязательно нужно сделать «как в венде!»?

Братиш, покажи мне sysrq

http://i.stack.imgur.com/LpFlC.jpg

(она там есть, но я до сих пор не помню какими комбинациями она вызвается. CAD значительно проще.)

// хотя, вообще, мне пофиг на эту фичу.

arcanis ★★★ ()
Ответ на: комментарий от mandala

пользователям рачей и федор только веселее

Не знаю как там у рачей, на федоре все стабильно, так что не надо песен.

^_^ alexv@micrayon [~] $ /lib/systemd/systemd --version
systemd 216
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN

Хотя что тебе рассказывать, сейчас ты будешь возбухать что в федоре окаменелый софт хуже дебиана.

alex_the_v ★★★ ()

Новости хватило на две чашки кофе.

Мне нравится, как ты оформляешь новости — исчерпывающие подробности, комментарии по делу, отсутствие воды.

Благодарю за проделанную работу.

P. S.: Да будет срач.

К сожалению большинство хейтеров не способны рационально мыслить, приводить аргументы и анализировать, именно поэтому каждый тред о systemd превращается в выгребную яму.

r3lgar ★★★★★ ()
Ответ на: комментарий от ee1337a

меня тошнит от самого факта, что я пользуюсь программами Поцтеринга

Не пользуйся, кто тебя заставляет-то. Ставь слаку/крукс/лфс/генту и наслаждайся простынями на баше. Ставь freebsd и расскажи мне как сделать на ихнем rc.d так, чтобы jabberd2 дожидался пока поднимется mysql, а не падал при старте системы и чтобы при этом процесс загрузки не останавливался на полминуты пока мускул приподнимется и взлетит. Ставь opensolaris, или как она там сейчас называется и наслаждайся XML-конфигами в SMF, я тут квотил недавно юнит от шлимыла. Забей вообще на линукс в частности и IT в целом и езжай на Гоа жрать грибы.

Как можно работать с компом, если тебя при этом постоянно тянет блевать?

alex_the_v ★★★ ()
Ответ на: комментарий от intelfx

PrtSc

Насколько я помню, там что то вроде fn+s - отпустить - fn+кнопки.

// у тебя тоже T.40p?

t440 для работы, p нашел избыточной в плане наличия nvidia.

arcanis ★★★ ()
Ответ на: комментарий от ee1337a

Читай на здоровье:

^_^ alexv@micrayon [~] $ strings /var/log/journal/d39301c701fb4e7ea9e11e10ab573ca3/system.journal | grep -E '(MESSAGE|CMDLINE|TIMESTAMP)' | tail -20
MESSAGE=Updated: freetype-freeworld-2.5.3-4.fc21.x86_64
_CMDLINE=/usr/bin/python /bin/yum update
_SOURCE_REALTIME_TIMESTAMP=1424733111606077
MESSAGE=Updated: gtk2-2.24.26-1.fc21.x86_64
_SOURCE_REALTIME_TIMESTAMP=1424733112103189
MESSAGE=Updated: usb_modeswitch-data-20150115-1.fc21.noarch
_SOURCE_REALTIME_TIMESTAMP=1424733112210590
MESSAGE=Updated: usb_modeswitch-2.2.0-2.fc21.x86_64
_SOURCE_REALTIME_TIMESTAMP=1424733112249856
MESSAGE=Updated: gtk2-devel-2.24.26-1.fc21.x86_64
_SOURCE_REALTIME_TIMESTAMP=1424733112764730
MESSAGE=Updated: gtk2-immodule-xim-2.24.26-1.fc21.x86_64
_SOURCE_REALTIME_TIMESTAMP=1424733112825764
MESSAGE=Updated: lyx-fonts-2.1.3-1.fc21.noarch
_SOURCE_REALTIME_TIMESTAMP=1424733112882601
MESSAGE=Updated: gtk2-2.24.26-1.fc21.i686
_SOURCE_REALTIME_TIMESTAMP=1424733113393895
alex_the_v ★★★ ()
Последнее исправление: alex_the_v (всего исправлений: 1)
Ответ на: комментарий от arcanis

У меня (T540p) PrtSc == SysRq, то есть итоговая комбинация выглядит как «Alt+PrtSc+B».

// ясно, просто в моём случае этот ноут вместо всего и я люблю гонять флайтсим, так что дискретка оправдана :]

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

У меня (T540p) PrtSc == SysRq, то есть итоговая комбинация выглядит как «Alt+PrtSc+B».

Хм, и правда, судя по dmesg. На домашнем E-какой-то-там (собственно с дискреткой для игор/расчетов), насколько я помню свои опыты, это делалось через fn и было жуть как неудобно

arcanis ★★★ ()
Ответ на: комментарий от metawishmaster

оно ИДЕОЛОГИЧЕСКИ плохо!

Убийственный по силе аргумент ))

mbivanyuk ★★★★★ ()
Ответ на: комментарий от Plcmn

Дело в том, что пользователи *nix любят *nix не только за то, что система работает, но и за ее философию. И я люблю философию Unix, она позволяет системам быть мощными и гибкими, работать им везде, начиная от домашних роутеров и заканчивая суперкомпьютерами.

Ты безусловно имеешь право любить любую философию, от классической немецкой до Unix, от Гегеля (не путать с Гоголем!) до Поттеринга. Но ты уж так тогда и говори - я не люблю systemd (или любую другую вещь на свете) потому что навыдумывал себе всякой херни про какую-то там философию. Это твоё право, нет проблем.

mbivanyuk ★★★★★ ()
Ответ на: комментарий от mbivanyuk

Философия — это тоже важно. Она дала основу для создания системы, которой пользуется большинство посетителей этого сайта. Поэтому не стоит относиться столь презрительно к ней. :)

Касательно претензий — я не являюсь хейтером, я нахожу systemd удобнее, чем существующие системы, меня только смущает его монстроузность. Мне кажется, что он делает больше, чем должен. Впрочем, про объем intelfx логично заметил, что модули можно отключать. Тем не менее мне кажется, что systemd в будущем может принести немало проблем. Посмотрим, может его перепишут или агрессивно отрефакторят.

Plcmn ()

Нажатие Ctrl-Alt-Del более семи раз в течение двух секунд теперь вызывает аварийный перезапуск системы

Я знал знал что этот день настанет! Именно для этого многие годы тренировал правую руку совершать быстрые движения вверх-вниз

makoven ★★★★★ ()
Ответ на: комментарий от ee1337a

латентный макопетух и идеи своего говнокода крадёт как раз оттуда.

А ini файлы из винды! Ничего святого в нем нет

arcanis ★★★ ()
Последнее исправление: arcanis (всего исправлений: 1)
Ответ на: комментарий от mbivanyuk

Ну сколько можно уже тупить???? А на скриптах у вас что не работало, раз уже на то пошло? Зачем надо было это переписывать? Автомонтирование до Поттеринга не работало или что еще??? Часто вы в скрипты загрузки лазили на десктопе-то?

Проблемы начинаются при поддержке и разгребании внештатных ситуаций. В этом случае все поттеринговые комбайны помогают немного меньше, чем никак. Да, слава ШТЕУДу и прочим АМДям, не так часто бывают внештатные ситуации, но они, таки, имеют место быть. И системы, собранные из узкоспециализированных, нежесткосвязанных компонентов поднимаются быстрее, чем монстроуродцы, которые писаны для идеально-сферический коней в вакууме.

Вопрос в том, что этот клоун лезет в чужой монастырь со своим уставом. А за ним куча последователей уже, загрузочных скородрочеров, которые по пятнадцать раз в час машину перегружают с секундомером в руках.

dr_dobermann ()
Ответ на: комментарий от mbivanyuk

Если их ещё немного подразнить, то философы-малолетки начнут из под какающих идеологов горшки выдёргивать. Пока нянечка отвернулась.

Вот это и будет их общая идеологически хорошая философия.

А вообще в новости про systemd надо по паспорту в комменты допускать. Нет восемнадцати — иди учи уроки.

frob ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.