LINUX.ORG.RU

Разработчики Fedora обсуждают объединение каталогов для исполняемых файлов

 


0

0

Разработчики Fedora обсуждают возможное объединение каталогов /bin, /sbin/, /usr/bin и /usr/sbin: предлагается все исполняемые файлы помещать в каталог /usr/bin, а другие каталоги сделать символическими ссылками на него для совместимости.

Леннарт Поттеринг в списке рассылки разработчиков предоставляет список преимуществ такого подхода:

  • разделение на /bin и /sbin приводит к усложнению работы разработчиков, которые зачастую ошибаются с выбором каталога, либо бездумно помещают файлы в /usr/bin;
  • первоначальное назначение каталога /sbin (размещение статически собранных файлов, на что указывает буква «s») давно неактуально;
  • разделение на /bin и /sbin не имеет отношения к безопасности (это был бы глупый принцип «security by obscurity»);
  • разделение на /bin и /sbin имеет значение только для переменной $PATH, однако усложнять доступ пользователей к некоторым инструментам - плохая затея; к тому же для этого есть более подходящие каталоги;
  • разделение на /bin и /sbin в любом случае бессмысленно уже пару версий Fedora, поскольку оба каталога включены в переменную $PATH для всех пользователей;
  • разделение приводит к усложнению, а мы должны стремиться к упрощению;
  • различные дистрибутивы размещают некоторые бинарные файлы в различных каталогах, что приводит к проблемам с переносимостью скриптов;
  • разделение на /bin и /usr/bin в основном было сделано для этапа ранней загрузки системы - минимальный набор загрузочных файлов находится в /. Но это давно не работает, и соответствующая опция убрана из инсталлятора anaconda. Более того, размещение /usr на отдельной файловой системе вызывает проблемы при загрузе посредством systemd;
  • разделение на минимальную систему в / и полную в /usr также стало бессмысленно благодаря initrd, а содержание двух уровней «минимальной загрузочной системы» - дурацкая затея;
  • существенно упростится установка «read-only» системы: так, libc и другие системные библиотеки будут доступны только на чтение, а /etc - на чтение и запись;
  • снятие снапшотов станет действительно атомарной операцией. В настоящее время btrfs требует 5 снимков - /lib, /lib64, /bin, /sbin и /usr вместо одного, что неудобно и может приводить к состояниям гонки;
  • существенно упростятся сетевая и контейнерная установки;
  • сборочные скрипты упростятся: в частности, autoconf не знает о разделении на / и /usr, и для правильной работы с ними приходится прилагать специальные усилия;
  • эксперименты уже показали жизнеспособность предложенной схемы и отсутствие серьезных проблем;
  • есть разработчик (Harald Hoyer), готовый выполнить необходимую работу.

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

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

★★★★

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

Hello Scrap World.

Стойкое чувство, что девелоперс*3 уже сами не в состоянии управлять тем «всем» что собирается в дистрибутив.

Здравствуй свалка - файлопомойка. :(

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

Deleted
()

По списку:

  • Это давно отвалилось
  • Это не заработает
  • Это вообще не нужно
  • Здесь уже ничего не поделаешь
  • Проблемы морали
  • ...

Вообщем есть все основания хранить бинарники в одном месте.

o4kapuk
()

Да они упоролись, кажется мне, у них завелся вендо тролль.

joy4eg ★★★★★
()

Объединение /bin и /sbin, а также /usr/bin и /usr/sbin - здравая идея. Но объединение /bin и /usr/bin - как-то глупо. А на кой нам тогда /usr? Давайте уже всё в /bin, который и монтировать отдельным разделом.

Chaser_Andrey ★★★★★
()

подобное - наличие исполняемых файлов в одном каталоге /usr/bin, - уже давно реализовано в chakra linux. федора не нужна.

Zlo ★★★★★
()

> разделение на /bin и /usr/bin в основном было сделано для этапа ранней загрузки системы - минимальный набор загрузочных файлов находится в /. Но это давно не работает, и соответствующая опция убрана из инсталлятора anaconda. Более того, размещение /usr на отдельной файловой системе вызывает проблемы при загрузе посредством systemd;

правильно, если что-то не работает, нужно не исправлениями заниматься, а просто это не использовать

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

dt1 ★★
()

Поддерживаю! Давно пора убрать этот архаичный бардак, который позорит GNU/Linux, претендующую на звание современной ОС.

CARS ★★★★
()

OMG! И тут каты! Это как-то отключается? Я быстро читаю и не испытываю страданий от наличия большого куска текста. А вот необходимости идти под кат — испытываю.

Wizard_ ★★★★★
()

> предлагается все исполняемые файлы помещать в каталог /usr/bin

И переименовать его в Program Files^W /System/Library

JustGuest
()

> Леннарт Поттеринг

Я так и думал. Мне идея не нравится. Никакой пользы. Кроме разве что тех, кто так и не понял, чем отличается var от etc, а bin от sbin. «разделение приводит к усложнению, а мы должны стремиться к упрощению» - мы? «разделение на /bin и /usr/bin в основном было сделано для этапа ранней загрузки системы - минимальный набор загрузочных файлов находится в /. Но это давно не работает» - федоропроблемы. Правьте баг, а не объявляйте фичей.

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

>А как систему восстанавливать в результате, если / еще жив, а /usr уже умер?

Ты не понял. Они хотят запретить тебе иметь отдельный /usr («размещение /usr на отдельной файловой системе вызывает проблемы при загрузе посредством systemd»).

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

>OMG! И тут каты! Это как-то отключается? Я быстро читаю и не испытываю страданий от наличия большого куска текста. А вот необходимости идти под кат — испытываю.

Это такой тонкий намёк на необходимость отКАТа модераторам.

terminator
()

Леннарт просто по MS-DOS 1.0 ностальгирует. Просто решил изменения вносить постепенно.

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

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

eldo
()

Так они же в итоге, небось, симлинков наделают, для совместимости, которые еще лет 300 жить будут в системе. Я понимаю, если бы совсем эти каталоги убрали, оставив только /bin

ostin ★★★★★
()

> Более того, размещение /usr на отдельной файловой системе вызывает проблемы при загрузе посредством systemd;

Шикааарно!

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

Текст должен быть целостным и удобочитаемым. Новости должны читаться из ленты. Почему для того, чтобы читать новости, я должен тыкать по ссылкам? Я не люблю тыкать по ссылкам.

Wizard_ ★★★★★
()

Странные люди... А /usr/local/bin туда же?

lmtea
()

Вышеперечисленные проблемы родились из за упрямого непонимания основных концепций UNIX. Большинство из них было решено в Plan9 более изящно.

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

Лучше бы как у нас оставили расположение каталогов. Сейчас вообще мешанина жуткая, что-то в Applications идет, что-то (например если через homebrew ставишь) в /usr/local.

ostin ★★★★★
()

Без /usr система не грузится так?

Файлы в /usr статичны (в ходе работы система их не меняет как файлы в /tmp, обновление системы - следствие действий пользователя)

Тогда чем /bin отличается от /usr/bin ?

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

> Лучше бы как у нас оставили расположение каталогов. Сейчас вообще мешанина жуткая, что-то в Applications идет, что-то (например если через homebrew ставишь) в /usr/local.

А в /opt тогда что идет?

skwish ★★
()

О, класс. Ведь есть же светлые головы в наших селеньях!

Jayrome ★★★★★
()

мда

Что-то я не понял, зачем в комментариях куча школоты разоралась про програм филес.

Речь идёт только про бинарники в одном каталоге, а не подсиживание к ним всего остального хозяйства, как в оффтопике. По ссылкам не ходите, прикидываясь Ъ, так хоть тут всё до конца читайте.

В целом мысль неплохая, не только для федоры, в нынешнем положении дел очень большая доля архаичности.

Strafer
()

Зачем объединять sbin и bin?
Зачем показывать непривелигерованному пользователю команды, которыми он всё равно не сможет воспользоваться?

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

Что за аргумент, не слишком ли громкое слово «реализовано»? Просто отсутсвует подобный костыль.

anonymous
()

> Более того, размещение /usr на отдельной файловой системе вызывает проблемы при загрузе посредством systemd;

Кто бы сомневался. systemd кривой, так давай под него всю систему переделаем.... МАРАЗМ. Ну и насчет /usr отдельным разделом - всегда так делаю на серверах. А теперь нельзя будет? Козлы!

Надеюсь, debian будет консервативным...

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

Видимо какой нить макпортс еще и в opt кидает, я о чем и говорю, нет единообразия у os x.

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

Журавль-то теперь далеко в небе... и мало кому нужен.

anonymous
()

Вполне здравая идея. Ну а бородатые старперы, застрявшие наглухо в черт знает каких временах (ну на кой, скажите мне сейчас /usr на отдельном разделе в linux нужен?) идут лесом. Все возражения от них в стиле «так всегда было, не пущать!» Ау, вылезайте из танков, 2011-й год на дворе.

anonymous
()

Вполне ок. чем упоролись то?

anonymous
()

А я, пожалуй, поддержу, да, пусть федорка окончательно превратится в помойку :)

robot12 ★★★★★
()

>> Более того, размещение /usr на отдельной файловой системе вызывает проблемы при загрузе посредством systemd

Ну так это проблемы поделки systemd.

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

>> Надеюсь, debian будет консервативным...

[~] >> ls /run
acpid.pid               crond.reboot    mdadm            shm
acpid.socket            cups            motd             smartd.pid
atd.pid                 dbus            mount            udev
atop                    dictd.pid       ntpd.pid         udisks
console                 incrond.pid     ppp0.pid         utmp
ConsoleKit              initramfs       pppd2.tdb        vnstat.pid
console-kit-daemon.pid  irqbalance.pid  rsyslogd.pid
crond.pid               lock            sendsigs.omit.d

Эту заразу они подхватили быстро. Надеюсь, сабж туда всё же не пролезет.

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

Правильно. Надо ещё и другие каталоги разнести. Все настройки в /etc — непорядок! Надо разнести их по /etc, /usr/etc, /usr/share/etc, /var/local/share/data/etc, /usr/local/data/doc/lib/etc/. Или так: /etc, /setc (только для админов — зачем неискушённому пользователю все настройки показывать?), /usr/etc, /usr/setc, /lib/etc и т. д..

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