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.

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


[#]  
RTP

Hello Scrap World.

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

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

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

# ()
[#]  

По списку:

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

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

* ()
[#]  
joy4eg

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

* ()
[#]  
sin_a

А началось со смены опроса...

***** ()
[#]  

GoboLinux? =)

***** ()
[#]  

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

* ()
[#]  
kranky

Давно пора.

*** ()
[#]  

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

** ()
[#]  
Zlo

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

* ()
[#]  

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

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

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

* ()
[#]  
CARS

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

** ()
[#]  

да че уж там, нужно просто сделать папку /Program Files

()
[#]  

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

* ()
[#]  

В HURD это давно реализовано. Здравствуй, Линус-слоупок.

()
[#]  
JustGuest

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

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

* ()
[#]  

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

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

anonymous ()
[#] Ответ на: комментарий от Displacer 02.11.2011 12:40:06  
kss

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

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

**** ()
[#] Ответ на: комментарий от Wizard_ 02.11.2011 12:51:51  

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

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

()
[#]  
Axon

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

*** ()
[#] Ответ на: комментарий от RTP 02.11.2011 12:06:43  

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

()
[#] Ответ на: комментарий от boombick 02.11.2011 12:38:48  
Ptomaine

Gobo Gobo

>> GoboLinux? =)

Тоже об этом подумал )))

()
[#]  
ostin

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

*** ()
[#]  
Dimez

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

Шикааарно!

***** ()
[#]  

Хорошая идея. Будет ясная и понятная структура.

anonymous ()
[#] Ответ на: комментарий от anonymous 02.11.2011 12:57:48  

Ещё бы, как в GNU, совсем от /usr отказались…

()
[#] Ответ на: комментарий от terminator 02.11.2011 12:53:36  

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

* ()
[#]  
cipher

Здравая мысль

* ()
[#]  
lmtea

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

* ()
[#]  
robot12

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

***** ()
[#] Ответ на: комментарий от eldo 02.11.2011 12:54:11  
ostin

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

*** ()
[#]  

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

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

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

** ()
[#] Ответ на: комментарий от ostin 02.11.2011 13:06:44  

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

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

** ()
[#]  
Jayrome

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

***** ()
[#]  
vasya_pupkin

Я "за"! Здравая идея

** ()
[#]  
Reset

лучше сделать так

/Program Files
/Program Files (x86)
***** ()
[#]  
Strafer

мда

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

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

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

()
[#] Ответ на: комментарий от Reset 02.11.2011 13:09:46  
Binary

Правильно. Давно пора винде выпилить эти глупые C:, D:, E:.

** ()
[#]  
Darth_Revan

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

* ()
[#] Ответ на: комментарий от terminator 02.11.2011 12:52:00  

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

anonymous ()
[#]  
Magister2k7

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

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

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

* ()
[#] Ответ на: комментарий от skwish 02.11.2011 13:08:15  
ostin

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

*** ()
[#]  
KERNEL_PANIC

/sbin + /usr/sbin => /sbin
/bin + /usr/bin + /usr/local/bin + /usr/games => /bin
/usr/share => /share
/usr/src => /var/src

# rm -Rfv /usr/
echo ':-)'

** ()
[#] Ответ на: комментарий от robot12 02.11.2011 13:06:36  

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

anonymous ()
[#]  

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

anonymous ()
[#]  

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

anonymous ()
[#]  
robot12

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

***** ()
[#]  
GotF

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

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

***** ()
[#] Ответ на: комментарий от Binary 02.11.2011 13:11:20  

Да и на сколько ей хватит всего-то 26 букв?

()
[#] Ответ на: комментарий от Magister2k7 02.11.2011 13:14:27  
GotF

>> Надеюсь, 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

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

***** ()
[#] Ответ на: комментарий от Magister2k7 02.11.2011 13:14:27  

Правильно. Надо ещё и другие каталоги разнести. Все настройки в /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 и т. д..

()