LINUX.ORG.RU
ФорумTalks

[systemd]Поттеринг ...

 


0

1

в очередной раз оправдывает перенос /{bin,sbin,lib,lib64} в /usr из-за своей поделки

В связи с волной необоснованной критики Леннарт Поттеринг (Lennart Poettering) подготовил сводный документ, в котором обобщил мотивы переноса содержимого /bin и /lib в директорию /usr в грядущем релизе Fedora 17, а также опроверг наиболее часто встречающиеся мифы. По словам Поттеринга новое унифицированное расположение исполняемых файлов и библиотек внутри раздела /usr (содержимое /bin планируется перенести в /usr/bin, /sbin в /usr/sbin, /lib в /usr/lib и /lib64 в /usr/lib64) более совместимо с UNIX, чем практикуемый в Linux подход с разделением на /bin и /usr/bin (в SysV Unix /bin является симлинком на /usr/bin).

Источник

ЗЫ. Товарище федоровцев, леннартопоклонников с неусточивой психикой и баттхёртом, просьба убрать от экранов мониторов, смартфонов, планшетов, дабы не вызывать очередной приступ попоболи.

★★★★★

Последнее исправление: daemonpnz (всего исправлений: 1)
Ответ на: комментарий от vurdalak
ls -l /
total 28
drwxr-xr-x   2 root root 2992 Jan 27 12:04 bin
drwxr-xr-x   2 root root   72 Nov 14 00:10 boot
drwxr-xr-x  18 root root 4820 Jan 27 13:58 dev
drwxr-xr-x  88 root root 6312 Jan 27 18:09 etc
drwxr-xr-x   6 root root  136 Aug 16 21:58 home
drwxr-xr-x   2 root root   80 Jan 24 01:44 include
drwxr-xr-x  15 root root 5272 Jan 27 12:04 lib
drwxr-xr-x  25 root root  648 Jan 24 22:26 media
drwxr-xr-x   5 root root  120 Jul  4  2011 mnt
drwxr-xr-x   8 root root  360 Dec 18 01:33 opt
dr-xr-xr-x 142 root root    0 Jan 26 11:43 proc
drwx------  28 root root 1232 Jan 27 02:21 root
drwxr-xr-x   7 root root  280 Jan 26 11:44 run
drwxr-xr-x   2 root root 4848 Jan 27 12:08 sbin
drwxr-xr-x  11 root root    0 Jan 26 11:44 sys
drwxr-xr-x   2 root root   48 Jan 27 18:09 tmp
drwxr-xr-x  19 root root 4096 Oct  5 14:39 usr
dr-xr-xr-x  13 root root 4096 Jan  6 18:44 var
drwxr-xr-x   2 root root   48 Jul  3  2011 zol

Где тут 10 симлинков друг на друга?! А вот при Поттеринге уже как минимум 2: /bin -> /usr/bin, /sbin -> /usr/sbin.

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

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

//А вообще, ничего не имею против «поделок» Поттеринга. У меня они «просто работают».

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

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

VIKI во все поля :3

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

Моя аллегория условна, она не требует дальнейшего развития.

Основная [тем не менее, неявная; и даже, на первый взгляд,- скрытая] мысль - в том, что когда у Вас в конструкторе появятся его «поделки», тогда все мы сможем сделать один из двух выводов: 1. либо мейнтейнер соответствующего пакета Вашего дистра - идиот (слово «Вашего» подразумевает неуместность претензий к разработчикам Fedor'ы - совершенно другого дистра); 2. либо стОт признать, что его «поделки» становятся стандартом в ведущих дистрах GNU/Linux (тем более бессмысленно гнать на Поттеринга).

А пока насильно Вам в генте никто ничего не навязывает,- то и бучу поднимать - как-то не к лицу.

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

Ты любитель передёргивать. Успокойся, никто тебе твою любимую большую железную вилку с 4 зубцами не запрещает использовать.

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

Если они станут стандартом де-факто, то это не значит, что они лучше. Вон MS протолкнула свои форматы сначала в стандарты де-факто, потом де-юре. Но качества им это не прибавило. Так и поделки Поттеринга, как были поделками, так ими и останутся.

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

Мы же про F/OSS? M$ тут - не то сравнение. M$, словно драг-диллер, придерживается политики навязывания.

А в нашем стане никто ничего не навязывает: хочешь - пользуй, не хочешь - не используй. Различие, на мой взгляд, налицо.

carasin ★★★★★
()

Чо, когда уже, наконец, придумают объявить весь хлам в /, /usr не нужным и таки перенесут всё в /usr/local, а остальное отдадут на откуп всяким сетевым ФС? Один фиг же в лоликсе базовой системы нет, а у некоторых чудерастов даже бинари из /bin и /sbin не статически слинкованы и требуют /usr/lib*/*.

PS. [time machine]Поздравляю всех с очередным окончательным выпиливанием 12309 в 3.3[/time machine]

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

У меня все столовые приборы деревянные :P

vurdalak ★★★★★
()

По итогам треда всё таки какой-то упоротый федоро/леннарто/системд поклонник меня заигнорил. :)

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

Опять обязательно ставить тэг «сарказм»?
Это был ответ на кривлянье троля

German_B
()

ЩИТО? Да он же упоротый! Сначала системд в мою любимую федорку вкрутил, а теперь еще и опавдывается что перенесение всего и вся в /usr это круто(правда, лучшеб /bin и /sbin объединили). И это глючное пульсаудио, которое жрет 5% атомовского ЦП при простом воспроизведении музыки, и падает из-за всяких там ритмбоксов+пиздгинов! Holy fucking SHIT!

ЗЫ. Товарище федоровцев, леннартопоклонников с неусточивой психикой и баттхёртом, просьба убрать от экранов мониторов, смартфонов, планшетов, дабы не вызывать очередной приступ попоболи.

Поздно товарищи, поздно. Надо было выше написать...

nexfwall ★★★★
()
Ответ на: комментарий от AndreyKl
$ ldd /sbin/iptables
	linux-gate.so.1 =>  (0x0064a000)
	libiptc.so.0 => /usr/lib/libiptc.so.0 (0x00b61000)
	libxtables.so.2 => /usr/lib/libxtables.so.2 (0x00b58000)
	libm.so.6 => /lib/libm.so.6 (0x00b26000)
	libc.so.6 => /lib/libc.so.6 (0x009b0000)
	libdl.so.2 => /lib/libdl.so.2 (0x00b51000)
	/lib/ld-linux.so.2 (0x0098b000)

Смысл понятен или объяснить? Это старая (10) федора. Вот такие у нас «статически слинкованные бинарники» в /sbin. Предлагается так же подумать, как это добро будет запускаться без /usr.

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

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

ldd /bin/* | grep /usr
	libxtables.so.2 => /usr/lib/libxtables.so.2 (0x00b58000)
	libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x0352f000)
	libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0338b000)
	libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x003d8000)
	libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x002ca000)
	libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x0352f000)
	libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0338b000)
	libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x003d8000)
	libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0x002ca000)
	librpmbuild-4.6.so => /usr/lib/librpmbuild-4.6.so (0x0019f000)
	librpm-4.6.so => /usr/lib/librpm-4.6.so (0x00130000)
	librpmio-4.6.so => /usr/lib/librpmio-4.6.so (0x00101000)
	libmagic.so.1 => /usr/lib/libmagic.so.1 (0x008ba000)
	liblzma.so.0 => /usr/lib/liblzma.so.0 (0x00c21000)
	liblua-5.1.so => /usr/lib/liblua-5.1.so (0x00b8a000)
	libelf.so.1 => /usr/lib/libelf.so.1 (0x002d6000)

«Минимальная система», говоришь?

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

ну тут логика типа в том что в корень запись идёт редко и шансов что он покорёжится меньше.

А в /usr сильно чаще? Его вообще можно все время в ro держать, кроме случая обновлений. И даже обновлять можно не сам раздел, а его снапшот, например, а потом мигрировать на него.

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

реально склоняюсь что нужно или recovery микро-раздел делать,

вообще / это и есть recovery микро-раздел, внезапно. Так сказать продукт финальной эволюции этого самого рековери раздела, с опциями типа single внесенными почти в стандарт юникса для работы с ним.

Склоняюсь к мысли о том что в каждом дистрибутиве «изкаробки» должен быть инструментарий для создания и поддерживания таких разделов, во всех видах.
То есть виде просто / , в виде initrd, в виде мини раздела на fs, в виде loop, в виде отдельного раздела, в виде flashrom в биос.

kernel ★★☆
()
Ответ на: комментарий от unanimous
ldd /bin/* | grep -B 5 /usr 
        linux-gate.so.1 =>  (0xffffe000)
        libc.so.6 => /lib/libc.so.6 (0x4d1ed000)
        /lib/ld-linux.so.2 (0x4c058000)
/bin/grub2-mkfont:
        linux-gate.so.1 =>  (0xffffe000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x4d6c1000)
        libz.so.1 => /lib/libz.so.1 (0x4d3c4000)
        libc.so.6 => /lib/libc.so.6 (0x4d1ed000)
        /lib/ld-linux.so.2 (0x4c058000)
/bin/grub2-mkimage:
        linux-gate.so.1 =>  (0xffffe000)
        liblzma.so.5 => /usr/lib/liblzma.so.5 (0x4d3e9000)
--
        libblkid.so.1 => /lib/libblkid.so.1 (0x4c0eb000)
        /lib/ld-linux.so.2 (0x4c058000)
        libuuid.so.1 => /lib/libuuid.so.1 (0x4e617000)
/bin/mount.sshfs:
        linux-gate.so.1 =>  (0xffffe000)
        libfuse.so.2 => /usr/lib/libfuse.so.2 (0x4c07c000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x4d875000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x4d74b000)

Минимальная. И если посмотреть внимательно на бинари, то становится понятно, что можно обойтись и без них.

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

Товарищ Поттеринг написал поделку и так как она хреново работала в существующей структуре ФС

[systemd]Поттеринг ... (комментарий)

Это состояние системы еще до того, как Поттеринг написал systemd. Ничего, что бинарники в /sbin динамически слинкованы, да еще и с библиотеками в /usr?

Это — экспериментальные факты. Можешь теперь покричать про свой дистрибутив, «в котором все не так».

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

Минимальная. И если посмотреть внимательно на бинари, то становится понятно, что можно обойтись и без них.

Т.е. существования бардака «до Поттеринга» ты все-таки признаешь? И то, что подавляющее большинство систем|дистрибутивов валит в /bin все что надо и не надо? Т.е. никто не сумел соблюсти «чистоту юникса»? Теперь, внимание, вопрос: так может это «чистота» давно уже полностью эфемерна и пора перенести все в /usr?

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

А счас ещё пересоберу grub2 без truetype и один бинарь пропадёт из этого списка и останутся всего 2.

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

И? Был бардак (в генте лёгкий бардачок). И что? Его нужно теперь признать «порядком» вместо того, чтоб навести настоящий порядок. И поделка Поттеринга этот беспорядок только поощряет.

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

А в /usr сильно чаще?

С моей точки зрения только во время установки софта. Но, честно говоря, целостность системы меня вообще не парит. Поэтому у меня только два раздела: системный и хомяк. Ну и своп.

И даже обновлять можно не сам раздел, а его снапшот, например, а потом мигрировать на него.

это пока из ряда фантастики, увы. Но я с нетерпением жду когда же btrfs будет готова хотя бы для дома.

вообще / это и есть recovery микро-раздел, внезапно.

Тоже верно. Только если кто-то, например, снесёт /lib то хана этой затеи. Да, есть busybox-static на самый крайний случай, но он, как это уже было сказано, неполноценен.

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

не, всё же не то это. Систему так, например, переставить геморойно. Или там, например, нет sshd.

Я всё же за отдельный маленький рекавери.

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

по-моему ты недопонял смысл сказанного мною.

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

это пока из ряда фантастики, увы. Но я с нетерпением жду когда же btrfs будет готова хотя бы для дома.

а lvm?

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

не, всё же не то это. Систему так, например, переставить геморойно.
Или там, например, нет sshd.

Ну как бы ты сам понимаешь что там нет sshd не потому что он там не нужен - а потому что его туда не добавили. А не добавили потому что в этой *подсистеме*, назовем ее так, накапливаются баги, отсутствующие фичи и тп.

И это +1 к ее ликвидации в логике потеринга - «не будем чинить, давайте ее вообще уберем». Но по факту это не аргумент.

То же самое с «Систему переставить геморойно». Накопились юзкейсы которые эта подсистема должна поддерживать. Но она этого не делает.

Я всё же за отдельный маленький рекавери.

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

Например в рекавери многим нужен sshd - но при этом его захотят собрать с другим libc, как и другие утилиты. И это касается и рекавери в / абсолютно так же.

То есть для / я бы хотел специальные пакеты типа «sshd для /» и все такое прочее. То есть пакеты отестированные для работы в /. Даже как отдельный проект, наверное.

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

а lvm?

совсем не то. Оно оторвано от файлухи и поддержка raid1 там стрёмная. В результате и файлухи ресайзятся через задницу (если вообще ресайзятся, тем более онлайн) и для снапшотов нужно выделять отдельное место что тоже удобства не добавляют. Короче, mdadm+lvm+ext4 проигрывает и по удобству и по фичастости http://en.wikipedia.org/wiki/Btrfs#Features

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

может какой-нить dd-wrt втыкать? :) Как раз весит мало...

Напрямую dd-wrt - не надо. :) Более того, требования могут быть разные. Кому то надо будет очень маленький, а кому то сойдет не очень маленький, но со стандартным софтом и стандартным glibc. А может быть и так что в initrd я хочу маленькую инсталляцию, а в / - «большую».

Так что на основе подобных dd-wrt проектов нужна отдельный проект внутри дистрибуторов. С разными таргетами - как минимум для / , для initrd, для rescue раздела. При чем как бы их на одной машине может быть не один.

При чем настройки они должны брать из основного дистрибутива - настройки сети там и тп, но с возможностью дополнительных опций. И делать это автоматически.
Понятно что, например, с одной стороны там будут несколько разных пользователей - админов обычно несколько, и при этом хотелось бы что бы их пароль брался из единой базы если она есть ... но все должно работать и тогда когда единой базы нет :D
То есть при установки rescue должен сам прятать у себя внутри /etc/shadow для админов, а кто админ - брать из настроек мастер-инсталляции.


Собственно еще в порядке +к конструктиву: мне пришло в голову что это все не должно управляться стандартным пакетным манагером, а еще точнее - не должно хранится в стандартной пакетной базе (я про /var/lib/rpm а не про репозиторий). Таким образом гораздо изящней отрабатывается случай - несколько rescue но один дистрибутив. Более того - понятно что rescue может быть не все время подмонтирован.

А в единой пакетной базе хранить только, например, запись о пакете rescue-system-1.456.1-i385.rpm. Что бы rpm на мастер-инсталляции ловил конфликты, буде те возникнут.

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

нууу, в общем, всё правильно, добавить нечего :).

Главное чтобы не получился монстр. Имхо я бы начал с busybox+mdadm+lvm2+dropbear+iproute2+fdisk+fsck, остальное опционально.

Ну и чтобы загрузчик был от микросистемы а основная система грузилась через chainloading.

Жаль времени нет, а то я бы занялся. Хотя, для своего сервера в качестве эксперимента сделаю ближе к лету. Может даже возьму debootstrap чтобы не трахаться ибо время дороже пары сотен метров на разделе. Или вообще проинсталить system rescue cd второй осью...

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

совсем не то. Оно оторвано от файлухи и поддержка raid1 там стрёмная

раид1 поддерживается нормально в mdadm. по мне так это хорошее решение. думается мне что от этого уровня абстракции не уйти. ну да разрабам виднее.

файлухи ресайзятся через задницу (если вообще ресайзятся, тем более онлайн)

ну.. ради справедливости, это совсем не lvm-а недостаток, а файлух.

снапшотов нужно выделять отдельное место что тоже удобства не добавляют

место под снапшоты поди в btrfs нужно будет. но если ты имеешь ввиду одельную команду «выделить 2Гб на снапшот», то да, неудобно, я согласен. по мне лучше бы снапшоты и у lvm-а делались на том же томе, прозрачно для пользователя (прост место бы увеличивалось как при обычной записи).

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

это хорошее решение

да, но теряется интеграция.

а файлух.

да, проблема в том что они делаются без оглядки на lvm, оттого и с ресайзами и снапшотами.

Я не хочу сказать что решение mdadm+lvm+ext4 негибкое. Просто неудобное и требующее определённых скилов при манипуляции с разделами.

Я слишком многого хочу? :)

true_admin ★★★★★
()

ЗЫ. Товарище федоровцев, леннартопоклонников с неусточивой психикой и баттхёртом, просьба убрать от экранов мониторов

А что делать с федоровцами-леннартоненавистниками?

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

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

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

> У нормальных людей оно в r/o.

И /etc/ в ro? или на отдельно разделе?

provaton ★★★★★
()

Я, конечно, не фанат поттеринга, но вроде там в самом начале написано

Note that this page discusses a topic that is actually independent of systemd. systemd supports both systems with split and with merged /usr, and the /usr merge also makes sense for systemd-less systems. That said we want to encourage distributions adopting systemd to also adopt the /usr merge.

Так что, фраза

> из-за своей поделки

это банальное 4.2

provaton ★★★★★
()

Все устанавливаемые из RPM-пакетов неизменные компоненты будут сосредоточены только внутри раздела /usr и не будут встречаться за его пределами, что позволит упростить организацию бездисковых систем и повысит их безопасность - для работы достаточно будет экспортировать в режиме только для чтения раздел /usr

Ох*еть. какой-то сбой и все, привет, /usr не монтируется, а coreutils на нем. Конечно можно прикопаться, что и корень может не смонтироваться, но шансов что сломается одна из двух фс выше, чем что сломается только одна из одной.

cvs-255 ★★★★★
()

Интересно, а как будет вызываться mount, если он - в /usr, который еще не примонтирован?

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

Я слишком многого хочу? :)

:) да нет наверное... но лично я остался бы доволен если бы ext4 научилась ресайзиться нормально и онлайн и lvm научился бы делать снапшоты без лишних телодвижений (типа выделения места).

хотя может быть придёт бтрфс и я буду вспоминать как страшный сон эти манипуляции с lvm..

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

Посмотрим. Я однажды настраивал бездисковую станцию, помню гемор был жуткий. Думаю, хуже от леннартовских поделок не будет, хотя я от них не сильно в восторге.

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

А может, лучше послать его туда, куда его дорога и лежит? Нехай чешет в задницу и сидит там тихонько...

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