LINUX.ORG.RU

systemd 211

 


0

2

Выпуск, в основном, нацелен на исправление ошибок, появившихся в systemd 209. Следующий выпуск запланировано осуществить в течение двух последующих недель.

Изменения:

  • logind автоматически блокирует переход в спящий режим при закрытии крышки ноутбука, если имеется подключенный внешний монитор. Ранее ожидалось, что эта возможность будет реализована средствами DE (например, так сделано в Gnome), но теперь добавлена и в logind для предотвращения «гонки», когда рабочее окружение еще не успело загрузиться и заблокировать переход в спящий режим, а крышка ноутбука уже закрыта пользователем и logind усыплял систему;
  • logind не переходит в спящий режим при закрытии крышки ноутбука, если прошло менее 30 секунд с момента прошлого просыпания и менее 3 минут с момента загрузки. Это дает системе время, необходимое для определения того, что она подключена к док-станции по USB, и отсутствия необходимости перехода в спящий режим;
  • systemd-gpt-auto-generator поддерживает обнаружение разделов /srv и root, (в дополнение к уже существующей поддержке /home и swap), а также шифрованных разделов LUKS. Это позволяет сделать еще один шаг к полной поддержке Discoverable Partitions Specification и осуществлению автоматического монтирования разделов без /etc/fstab и без передачи ядру параметра «root=»;
  • Если systemd собран с поддержкой kdbus, доступна базовая поддержка принудительного применения политик безопасности;
  • Юнитам добавлен параметр «RestrictAddressFamilies=», который позволяет ограничить доступ процессов юнита к указанному семейству сокетов («AF_INET», «AF_UNIX»), что уменьшает вероятность атаки через стеки различных экзотических протоколов;
  • Юнитам добавлены параметры «RuntimeDirectory=» и «RuntimeDirectoryMode=», позволяющие указать каждому демону персональную директорию в пределах /run для runtime-файлов демона, что позволяет этой директории существовать лишь на время работы демона, а демону каждый раз запускаться с пустой директорией;
  • Параметр «DeviceAllow=» позволяет использовать маски для выбора группы имён устройств;
  • В файл конфигурации system.conf добавлены настройки «DefaultCPUAccounting=», «DefaultBlockIOAccounting=» и «DefaultMemoryAccounting=» для глобального включения и выключения учёта специфичных ресурсов (cgroups) для всех юнитов;
  • systemd-nspawn обзавелся опциями "--image=" (для загрузки дисковых образов и инсталляций Linux с любых блочных устройств, соответствующих спецификации Discoverable Partitions Specification) и "--network-macvlan", позволяющий настроить интерфейс macvlan для контейнера. Это означает, что инсталляции, осуществляемые обновленными (в соответствии с вышеописанными изменениями) установщиками, теперь могут быть запущены и развернуты с помощью контейнерных утилит, без дополнительных модификаций. Разработчики systemd надеются, что разработчики libvirt-lxc в скором времени добавят такую возможность;
  • systemd-networkd поддерживает настройку локальных адресов с использованием IPv4LL;
  • Добавлена утилита systemd-network-wait-online для синхронного ожидания сетевого соединения через systemd-networkd;
  • systemd-run поддерживает опции "--uid=", "--gid=", "--setenv=, "--setenv=" при использовании режима "--scope".

>>> Подробности

anonymous

Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 4)

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

и что — у extfs есть прозрачная интеграция в lvm?

У extfs есть важно свойство: это файловая система, а не велосипед из костылей и скотча. Файловая система отвечает за файлы на томе, менеджер томов отвечает за тома. Про ортогональность слышал когда-нибудь?

Я конечно понимаю, что это нынче модно: файловая система управляет разделами, система инициализации содежит встроенный http сервер, текстовый редактор умеет варить борщ и отвечать на телефонные звонки...

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

или ты вручную растягиваешь размер lvm-тома (каждый месяц по чуть-чуть?)

У меня под home было выделено 50 GB. Когда они кончились через год, я выделил еще 50. Проблемы?

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

У меня под home было выделено 50 GB. Когда они кончились через год, я выделил еще 50. Проблемы?

у меня был HDD , потом я заменил его на SSD [более маленького размера чем HDD].

удалил пару~тройку лишних сериалов, и затем ПРОСТО набрал всего лишь одну команду (btrfs replace ...) и все мои subvol разом переместились на новый более маленький физический носитель..

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

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

всё было бы нормально если бы ты заранее предсказал бы мол «мне нужно 500GB для home-раздела».

Я заранее предсказал начальный размер раздела, да. Опять же - в чем проблема с этим?

а если ты сначало выделишь том 500MB и потом по чуть-чуть его увеличивал бы (в конечном итоге до 500GB)

Какие задачи требуют роста размера томов на 3 порядка? Я могу заранее сказать «мне нужно 100G» и увеличивать его до 500G, с инодами всё будет нормально. По умолчанию, да.

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

меня был HDD , потом я заменил его на SSD [более маленького размера чем HDD].

удалил пару~тройку лишних сериалов, и затем ПРОСТО набрал всего лишь одну команду (btrfs replace ...) и все мои subvol разом переместились на новый более маленький физический носитель..

И чем это качественно отличается от tar cf | tar xf? Или у тебя работа «I like to move it, move it»?

А если ты хочешь сказать «ваша ext* не умеет в уменьшение разделов» - так и говори. Да, не умеет.

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

А если ты хочешь сказать «ваша ext* не умеет в уменьшение разделов» - так и говори. Да, не умеет.

тыг я этого и не знал.. я просто предположил что был бы геморой.. :)

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

я просто предположил что был бы геморой.. :)

В твоем сценарии - не было бы.

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

А если ты хочешь сказать «ваша ext* не умеет в уменьшение разделов» - так и говори. Да, не умеет.

Гм!

man resize2fs | grep shrink

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

Так это unmounted. А по живому она может уменьшать?

online не умеет. Но ты ж написал так, что можно понять, что ваще не умеет.

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

Я имел в виду online, конечно. В offline оно умеет уж лет 10.

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

пульса научилась работать с блютусгарнитурами и не падать?

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

я правильно понял что поттеринг сначала выдергивает из докстанции внешние мониторы а потом открывает и закрывает крышку нотебука? а приходя на работу сначала втыкает мониторы в докстанцию а только потом вставляет нотебук в док?

anonymous
()

Я считаю, что программа не нужна. Непонятно, в чём смысл этой программы, т.к. уже давно есть полнофункциональный init.

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

Вроде, если собирать без флагов systemd, то и проблем пока не возникнет.

Я по косвенным признакам ориентируюсь. В ALT десктопные дистрибутивы не ориентировали на systemd до самого последнего момента, пока не стало понятно, что край наступил.

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

а у меня вот старый ide western digital на 200гб (187гиб) с ехт4 и 10гб под /, включая и /home Вот ни разу ничего с файловой системой дополнительного не делал, скачал фильм, заняло место (даже если совсем до нуля занимало диск), просмотрел, удалил, все место вернулось назад. Что за НЁХ вы тут маетесь?

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

Скажите, а чем так плох systemd, в двух словах?

перегруженный init
Но в трёх - понятнее: перегруженный функциональностью init
Следствие - случайная беда в левом ненужном функционале может привести к краху всей ОС.

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

И этого достаточно для init. А сейчас там кода на порядок больше.

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

Ви так говогите, будто ето что-то плохое!

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

в двух словах: 1)написано говнокодером 2)говнокодер - поттеринг 3)поттеринг невменяем 4)много лишнего 5)содержит говнокод

anonymous
()

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

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

Там в самом деле много if-else. Исходники часто выглядят как переписанный на Си shell-код.

В шелле есть аналог switch, так что не надо тут. :)

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

... потому, что logind это кусок одного большого куска говна под названием systemd

Исправил

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

а то ты в старой системе инициализации копался. не смеши

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

то, что инит-скриптов ОЧЕНЬ много,

и что они хаотично разбросаны по всему диску.

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

А свобода выбора всегда была, есть и будет. Если тебе не нравится одна система инициализации, используй другую. Именно ведь в этом и заключается красота и сила линукса ;)

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

и что они хаотично разбросаны по всему диску

В нормальных системах всё не так. В RH САМИ засрали init скрипты, а потом сказали, что это зло. Так нефиг портить было.

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

В нормальных системах всё не так

Calculate нормальная система? Попробуй на досуге проследить порядок загрузки от включения до выхода в DE/WM. Потом отпишись, вместе поржём.

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

Представь себе копался, и это было совсем не смешно.

и что они хаотично разбросаны по всему диску.

Вышеприведённые утверждения противоречат друг-другу. И это несмотря на то, что оба являются ложью.

Попробуй на досуге проследить порядок загрузки от включения до выхода в DE/WM. Потом отпишись, вместе поржём.

Пробую, меняю, правлю, пишу свои инит-скрипты для двух дистрибутивов с разными системами инициализации.

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

Я копался в коде systemd и это сущий ад. И вот сейчас посмотрел на последние коммиты и за 10 минут нашёл memory leak:

http://cgit.freedesktop.org/systemd/systemd/tree/src/login/sd-login.c#n655

Заметили как мы *p создали (внутри макроса strappenda), а освободить забыли? То есть не мы, а один больной на голову C-графоман.

То есть мало того что в коде init есть функция, которая тупо читает /run/systemd/machines/{name}, так она при этом ещё и кривая.

Почему я не пишу в systemd-devel? Потому что там ВЕСЬ код такой. Нет смысла репортить баги, проще просто выкинуть.

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

И вот сейчас посмотрел на последние коммиты и за 10 минут нашёл memory leak:

Я, кажется, понял почему поттеринг и товарищи так упирают на скорость загрузки. Судя по всему из-за быдлокода и утечек памяти перезагружаться придётся часто. :)

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

Представь себе копался, и это было совсем не смешно.

капался в редхате, и в от них зависимых. А погляди в нормальных дистрах как это сделано. Те что я видел - CRUX, Slackware.

Deleted
()
Ответ на: комментарий от shell-script

Вышеприведенные утверждения противоречат друг-другу.

И вчём здесь противоречие? То, что я копался в инит-скриптах, отнюдь не противоречит тому, что они (скрипты) разбросаны по всему диску, ибо это истинная правда!

И кстати, с чего вы все взяли, что я ковыряюсь в ред-хате? С шапкой я не дружу и причём давно. Ковырялся в Suse (до 12.0), crunchbank, gentoo/calculate …

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

И вчём здесь противоречие?

Если бы «копался» именно в инит-скриптах, не говорил бы о том, что они сильно разбросаны. Это же очевидно. И уж всяко они меньше размазаны по винту, чем не умеющий отдельные разделы без initramfs systemd(или он таки умеет? а тот там каждый следующий любитель этого поделия говорит по-разному).

Да, про RedHat я ничего не говорил. Я утверждаю, что ты вообще ни в каких инит-скриптах не разбирался.

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

Жесть. Как кодер на Си, могу сказать, что это эпичнейшие говнокоды.

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

Заметили как мы *p создали (внутри макроса strappenda), а освободить забыли? То есть не мы, а один больной на голову C-графоман.

А знаешь, чувак. Ты эпично опозорился. «Внутри макроса strappenda» выделение памяти выполняется при помощи alloca().

Освобождать не требуется.

man alloca

Почему я не пишу в systemd-devel?

Потому что ты нуп, и тебе лучше действительно никуда не писать.

anonymous
()

У меня этот logind, кладёт спать ноутбук во время завершения работы. Просто потому, что закрываю крышку.

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

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

A-234 ★★★★★
()
Ответ на: комментарий от pmedved

Что-то у нас экспиренс разный. В том же арче инит-скрипты и конфигурация для скриптов сервисов были положены в стого определённых местах. В /etc рядышком лежали два скрипт начинающиеся на rc - один для фазы загрузки, другой для останова/перезагрузки. Всё чётко и по делу.

Так же история со шлакой, подобное же в овердохуя эмбеддед системах.

Причём, при такой схеме, если таки засвербило в одном место что-то поменять, никто не запрещает это сделать, и обойтись без перекомпиляции.

Ну я бы и против не был, по большей части - пофиг. Но: 1. комбайн, хоть и с модульностью на уровне линковки 2. нафига всасывать проекты в свою кодовую базу? (привет udev) 3. дофига сюрпризов появилось в том же арче, после миграции. Одно перекраивание под себя структуры ФС и наплевание на HFS чего стоит. Да, может стандарты бородатые, но, йопт, это стандарты.

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

Ну вот кто мешал им отладить в своей педоре, а потом отдавать в свободное плавание?

Да, мне это даже напоминает одну историю, автором которой стала тоже RH, это когда они в RH 8.0 всунули тотальную UTFфизацию. Так же, без отладки, с огромными головняками. Да, ситуация исправилась, теперь без UTF никуда. Возможно и с systemd так будет. Но методы они нифига не меняют.

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

У них прямо в новости написано:

Юнитам добавлен параметр «RestrictAddressFamilies=», который позволяет ограничить доступ процессов юнита к указанному семейству сокетов («AF_INET», «AF_UNIX»), что уменьшает вероятность атаки через стеки различных экзотических протоколов;

Так что не интерфейсов а соединений скорее но суть процесса начинает настораживать.

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

суть процесса начинает настораживать.

Начинает? Только сейчас? o_O

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