LINUX.ORG.RU
ФорумTalks

Предвыходные мысли о FHS

 , ,


0

1

В rss ленте упало https://habr.com/ru/post/462045/. Не в первый раз такое вижу. Возможно кому-то будет интересно, но usr - это `user` пользовательская файлопомойка, etc - это `et cetera` общая свалка для дерьма, которое не нужно, но выкинуть жалко, bin - это исполняемое файло, home - это попытка отделить файло отдельных пользователей от системного (навести порядок, ага) . Не стоит искать в FHS смысл, его там нет. Уже 50 лет порядка нет. Это натуральное говно из говен. Все через жопу, непонятное и криво названное. Что думаете об иерархии в современном линукс? Пятничный тред.

★★★

Мне не нравится размазывание софта тонким слоем по ФС.
ДОС-стиль мне нравился больше: вот тебе директория и там находится и собственно программа и её конфиги и данные.
А сейчас в общем виде невозможно узнать где программа будет искать данные. Фигня в общем.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)

Что думаете об иерархии в современном линукс? Пятничный тред.

Слабоорганизованная дрянь, доставшаяся в наследство от Unix’ов, инженерные решения которых иногда вызывают восхищение, а иногда (как в этом случае) – недоумение и отвращение.

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

ДОС-стиль мне нравился больше: вот тебе директория и там находится и собственно программа и её конфиги и данные.

в случае «дос-стиля» или PATH разбухает до невозможности или запускать команду придется по полному пути или предварительно перейдя в соответствующих каталог. фигня в общем

ananas ★★★★★
()

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

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

PATH это дешёвое и сердитое решение из 70-х годов. Сейчас можно складывать каждый пакет в свой каталог, а для быстрого запуска вести единый список исполняемых файлов. Хоть плейнтекстом в файле. Даже если там будет 100 тысяч строк - его парсинг на любом не покрытым мхом компьютере займёт милисекунды.

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

можно. а можно и не складывать. какими бы цветущими не были современные компы - это вовсе не повод лишние ненужности использовать

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

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

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

обычно проги, которые идут в архиве, а не пакетом, практически всегда имеют обертки-запускалки, которые устанавливают все эти переменные

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

Просто нужно запускать не proga.elf а proga.sh де есть export PATH!

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

Ну ясно, «ненужно», я сразу понял.

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

PATH это и есть «мастурбировать вприсядку»

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

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

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

Поверю эксперту.

$ echo $PATH
/run/wrappers/bin:/home/user/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/etc/profiles/per-user/user/bin:/home/user/.local/bin

Симлинки к локальным пакетам идут в ~/.nix-profile/bin и /etc/profiles/per-user/user/bin, к глобальным — в /run/current-system/sw/bin. Сами бинарники валяются в /nix/store/<program>/bin, но в $PATH это естественно не попадает. Всё прекрасно работает при этом. Никакой мастурбации.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 3)

Оно вроде изначально логичное вполне, но потом испоганенное.

K22
()

FHS

Что за день, где-то выключили электричество на заводе с криокамерами девятилетней давности?

buddhist ★★★★★
()

Что думаете об иерархии в современном линукс?

В современном линуксе /nix/store.

t184256 ★★★★★
()

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

/home - вообще гениальнейшее изобретение человечества.

trex6 ★★★★★
()

Тред переписи виндузятников просто. Предлагаю пройтись банхаммером. Чисто ради лулзов, можно будет через пару дней разбанить.

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

Типа размазывать программу по всей фс это охрененно умное решение? Чем /bin отличается от /usr/bin? А /usr/sbin это вообще что за говно?

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

Второй конфиг в /var, а третий в /etc. Соснули, вендузятнички?

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

Даже с конфигами FHS сосёт. Если бы все пакеты лежали по своим каталогам, конфиг любого пакета можно было бы очень просто найти интуитивно. Например, для mpv это был бы:

/pkg/mpv:1.0.8/conf

для dolphin:

/pkg/dolphin:19.12/conf

То есть, берёшь имя пакета и подставляешь в путь, конечный же файл всегда известен заранее. А сейчас ты можешь заранее сказать, как будет называться конфиг какого-нибудь пакета, лежащий в /etc? Хрен там плавал. Или смотреть файлы в /etc и догадываться, или гуглить.

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

В rpm-based

rpm -qcv "имя_пакета"

В debian-based

cat /var/lib/dpkg/info/"имя_пакета".conffiles
bowtda
()
Ответ на: комментарий от Deleted

конфиг любого пакета можно было бы очень просто найти интуитивно

Действительно, надо всего лишь помнить версии всех 100500 пакетов в системе. И непонятно, как в такой схеме иметь несколько файлов конфигурации, не похоронит ли это «интуитивность»?

А сейчас ты можешь заранее сказать, как будет называться конфиг какого-нибудь пакета, лежащий в /etc?

Тех пакетов, которые хранят свои конфиги прямо в /etc (тяжёлое наследие царского режима древнего юникса), к счастью, с каждым годом всё меньше. А у остальных конфиги лежат в /etc/имя/, очень интуитивно и понятно.

gremlin_the_red ★★★★★
()

bin - это исполняемое файло,

ДА ЛАДНО!? НИКОГДА БЫ НЕ ПОДУМАЛ.

Что думаете об иерархии в современном линукс?

я думаю, её надо знать.

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

Мне не нравится размазывание софта тонким слоем по ФС.

тайна 12309 на винтах раскрыта!

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

мне дрвеб в корень однажды насрал((
я хочу поговорить об этом

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

Ну да, поиск бинарника/библиотеки по указанным в переменных путям _каждый_раз_ - это

locate блин

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

man hier, виндузятничек.

/sbin — это сисадминсткая лабуда, 99% которой ты никогда не воспользуешься. Хотя на кой это делить, если оно всё равно PATH и вываливается по табу, хз. /usr полезна только в теории, я бы избавился. Я не говорю, что все решения в fhs идеальны, но делать как Гекельберии Финн всё равно не вариант.

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

Ага, одно через жопу и никакой логики нет, второе через жопу - «не идеально».

Вообще лучше всего в macos сделано, хоть и не люблю её.

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

Ты накой /var выпилил? Без /{tmp,mnt} тоже никуда даже если система игрушечная и однопользовательская. Покажи ls -l /share, интересно чего ты туда напихал.

WitcherGeralt ★★
()

Если размазать говно тонким слоем по ФС, в говне окажется вся ФС. В этом и проблема FHS.

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

Если надо будет, создам и var, и tmp, и mnt. Пока не надо. В /share твой /usr/share.

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

Тред переписи виндузятников просто.

А эти тут причем? У них давно размазано так что и концов не найдешь. Какие тут пакетные менеджеры, вы о чем?

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