LINUX.ORG.RU
ФорумTalks

окололинуксовый юмор.

 воскресный юмор


2

1

а вы уже посмеялись над очередным «экспертом» «знающим как надо» устанавливать программы в линуксе?

этот бред можно прочитать на хабре: http://habrahabr.ru/post/152841/

ps. для Ъ переносить это на лор мне совесть не позволяет.

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

Угомони своё трололо.

бездумное использование есть растрата

Как видно, оно всё же не бездумное, а с расчётом. Если у тебя индекс = костыль, то выкини его из своей fs и посмотри, что будет.

СУБД в слаке - это instalpkg/removepkg, а в rpm-based - rpm. Это только ты смешал в одну кучу и БД и СУБД, внутрь ФС. Везде (кроме венды) так НЕ делают, а делают БД как ты говоришь «сбоку» от программ, в частности и от СУБД.

Я не смешал СУБД с ФС.
Я предлагаю поверх ФС накатить унифицированную схему БД, для размещения программ по контролируемой схеме. Функции СУБД(хрен с ним пусть примитивный набор функций к key-value хранилищу зовётся СУБД, раз уж ты не можешь без спуска к реляционным основам) я предлагаю запить в ОС в виде api-функций (не обязательно в ядре, достаточно на уровне системной либы), пользовательским интерфейсом к этим api-функциям я предлагаю запилить новый, любой или все существующие rpm/yum/emerge/pacman/и т.п, т.е. мне без разницы как именно будет реализован интерфейс пользователя. И об этом сказано в статье, если не читать её по диагонали, а просто подумать над прочитанным.

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

ну и чем это лучше rpm --rebuilddb?

Проход по id сильно меньше по объёму операций чтения, чем проход по всем файлам.

в таком случае - сначала сделай свою НЁХ, и тогда будем говорить о жизненных ситуациях.

Ну пока мы говорим о RL которую неплохо-бы улучшить.

выше ничего такого НЕ показано.

ой-ли?

И не важно, где ты будешь хранить свою ЭЦП - хочешь сбоку - храни сбоку. Можешь и в файлах.

Ну я это и сказал. В предлагаемой схеме предпочтительно хранить там же, в id - т.к. бд.

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

А я и не предлагаю ради эцп делать id.

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

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

конечно, все эти костыли закрывают данный вопрос.

:facepalm: Ты табло с расписанием и перон на вокзале, тоже называешь костылями? Тебе больше нравится обегать все поезда на путях выискивая номер поезда с билета и карабкаться с сумками по лестнице? И ты мне говоришь о извращениях?

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

т.е. мне без разницы как именно будет реализован интерфейс пользователя.

Конечно лукавлю, разница есть, но это не принципиально.

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

Как видно, оно всё же не бездумное, а с расчётом. Если у тебя индекс = костыль, то выкини его из своей fs и посмотри, что будет.

индекс в виде plain-text я давно выкинул вместе с FAT'ом. Брат жив.

Я не смешал СУБД с ФС.

смешал - если у тебя есть индекс-id, то ты просишь свою ФС этот индекс искать. Т.е. у тебя ФС работает как СУБД. Это было-бы возможно и неплохо, если-бы не ещё одна СУБД в виде индекс->имя, которую ты ещё даже не решил как делать («да хоть просто текст!»). Итого, у тебя две СУБД, одна в ФС типа как в венде, вторая сбоку, как у всех, и ты меня пытаешься убедить, что это удобнее и надёжнее.

Я предлагаю поверх ФС накатить унифицированную схему БД, для размещения программ по контролируемой схеме. Функции СУБД(хрен с ним пусть примитивный набор функций к key-value хранилищу зовётся СУБД, раз уж ты не можешь без спуска к реляционным основам)

где-то записано, что СУБД обязательно должна быть реляционной? Нет, не должна. Хотя у тебя таки получилась реляционная 1NF. Две таблицы связанные уникальным индексом. Впрочем, возможно и 2NF, потому-что я(и ты) не совсем понимаем, как будет реализована вторая таблица.

я предлагаю запить в ОС в виде api-функций (не обязательно в ядре, достаточно на уровне системной либы), пользовательским интерфейсом к этим api-функциям я предлагаю запилить новый, любой или все существующие rpm/yum/emerge/pacman/и т.п, т.е. мне без разницы как именно будет реализован интерфейс пользователя. И об этом сказано в статье, если не читать её по диагонали, а просто подумать над прочитанным.

ну запили этот API. мне что-то надоело спорить - я уже вижу, в чём у тебя будут проблемы. Ты как маленький ребёнок, пытающийся построить заведомо невыполнимую НЁХ. У него не получается, и он плачет. Но он-то хоть пытается, в отличие от тебя, ибо ты свою НЁХ только нарисовал, а строить пусть кто-то другой будет.

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

Проход по id сильно меньше по объёму операций чтения, чем проход по всем файлам.

да, конечно - восстановление одной таблицы сильно проще восстановления двух. Никто не спорит. Только непонятно, с чего ты взял, что надо восстанавливать именно вторую таблицу, и только её? Только потому, что в её качестве выступает ФС? Но вторая таблица - тоже файл(ы), а значит сломаться может с той же вероятностью, что и первая. Даже меньше, там 1 или несколько файлов, в отличие от твоих id.

Ты табло с расписанием и перон на вокзале, тоже называешь костылями? Тебе больше нравится обегать все поезда на путях выискивая номер поезда с билета и карабкаться с сумками по лестнице? И ты мне говоришь о извращениях?

извращением мне видится построение своего вокзала каждому поезду. Со своим локальным расписанием. И ещё с главным вокзальным управлением, в котором мне скажут, на какой именно из Over9000 вокзалов мне пройти на нужный поезд. И никуда не нужно карабкаться, приехал на вокзал, дождался единственного паровоза, и поехал. Очень всё красиво и уютно.

drBatty ★★
()

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

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

индекс в виде plain-text я давно выкинул вместе с FAT'ом. Брат жив.

Тебе осталость inode выкинуть и тогда ты погрузишься в нивану без «костылей».

смешал...

Нет. Это матрёшка, а не мешанина, один уровень вложен в другой. Что до таблицы индекс->имя, ну подумай, роль её - не терять human-readable представление идентификатора программы. Конечно без неё можно обходиться, но это будет неудобно конечному пользователю, как было-бы неудобно, выброси dn в связке ip <-> dn. Можно сделать как в nix - вписать в качестве идентификатора id-name, но это плохой путь, как если-бы имя ресурса в интернет идентифировалось бы ip-dn.

Итого, у тебя две СУБД, одна в ФС типа как в венде, вторая сбоку, как у всех, и ты меня пытаешься убедить, что это удобнее и надёжнее.

Ок, тебе нравится называть субд, называй. Но это не типа как в винде. В винде: shared libs складываются в один каталог реестр - обладает слишком сложной структурой реестр - не перестроить на базе установленного Убедить не пытаюсь, я возражаю на твои утверждения с которыми я несогласен.

где-то записано, что СУБД обязательно должна быть реляционной?

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

ну запили этот API

Как только, так сразу. «нарисовал, а строить пусть кто-то другой будет», а это плохой сценарий? Есть значительно более талантливые программисты чем я.

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

да, конечно - восстановление одной таблицы сильно проще восстановления двух. Никто не спорит. Только непонятно, с чего ты взял, что надо восстанавливать именно вторую таблицу, и только её? Только потому, что в её качестве выступает ФС? Но вторая таблица - тоже файл(ы), а значит сломаться может с той же вероятностью, что и первая. Даже меньше, там 1 или несколько файлов, в отличие от твоих id.

Что-то в твоём тексте вторая и первая перепутались. О восстанавливлении на fs ранее сказал - с примитивными повреждения решает избыточность, более серьёзные повреждения - уровень fs, он не обсуждается (для fs уже есть журналирование и средства восстановления). О повреждений таблицы id-имя, тоже сказал - перестроить по установленному.

извращением мне видится построение своего вокзала каждому поезду. Со своим локальным расписанием. И ещё с главным вокзальным управлением, в котором мне скажут, на какой именно из Over9000 вокзалов мне пройти на нужный поезд. И никуда не нужно карабкаться, приехал на вокзал, дождался единственного паровоза, и поехал. Очень всё красиво и уютно.

Опять тебя не в ту степь заносится с метафорами - сам надумаешь невесть что и сам же начинаешь гнобить. Лучше подумай о путях, стрелках и диспетчерской - легче будет понять.

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

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

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

Нет. Это матрёшка, а не мешанина, один уровень вложен в другой.

с т.з. сложности и надёжности, нет никакой разницы, разобраны твои матрёшки, или собраны. Их всё равно N штук, и для доступа к любой надо O(N) действий.

Что до таблицы индекс->имя, ну подумай, роль её - не терять human-readable представление идентификатора программы.

не только. ПО будет искать компоненты и общие либы тоже по ней, а не по id, который непонятно как делается. libastral по id не найти.

Конечно без неё можно обходиться

нельзя.

как было-бы неудобно, выброси dn в связке ip <-> dn

100% сайтов перестали-бы работать, либо работали не правильно. Не все ссылки ведут в докрут, а те, что не ведут, ведут не по IP. IP вообще нужен только здесь и сейчас. В отличие от domain.

Ок, тебе нравится называть субд, называй. Но это не типа как в винде. В винде: shared libs складываются в один каталог реестр - обладает слишком сложной структурой реестр - не перестроить на базе установленного Убедить не пытаюсь, я возражаю на твои утверждения с которыми я несогласен.

я вижу, что ты не билл (:

Не так, как в венде. Но очень похоже. В венде (точнее в MS-DOS), _хотели_ сделать так, но - не получилось. И не получилось как раз из-за нагромождения костылей.

Как только, так сразу. «нарисовал, а строить пусть кто-то другой будет», а это плохой сценарий? Есть значительно более талантливые программисты чем я.

э... Проблема в том, что ты нарисовал НЁХ, которая работать НЕ будет. Я пытаюсь объяснить - почему. Для меня это вполне очевидно. Если ты считаешь, что я не прав, попробуй реализуй, и столкнёшься именно с этими проблемами.

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

Что-то в твоём тексте вторая и первая перепутались. О восстанавливлении на fs ранее сказал - с примитивными повреждения решает избыточность, более серьёзные повреждения - уровень fs, он не обсуждается (для fs уже есть журналирование и средства восстановления). О повреждений таблицы id-имя, тоже сказал - перестроить по установленному.

а где ещё хранится инфа о том, что ksjkweriijwfewio это programm, и jrnureuivndfk тоже programm, только второй вариант?

Опять тебя не в ту степь заносится с метафорами - сам надумаешь невесть что и сам же начинаешь гнобить. Лучше подумай о путях, стрелках и диспетчерской - легче будет понять.

не легче.

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

с т.з. сложности и надёжности, нет никакой разницы, разобраны твои матрёшки, или собраны. Их всё равно N штук, и для доступа к любой надо O(N) действий.

К чему это вообще? В мешанине отсутствует структура, об этом речь, а не о том сколько O(n) в матрёшке.

Что до таблицы индекс->имя, ну подумай, роль её - не терять human-readable представление идентификатора программы.

не только. ПО будет искать компоненты и общие либы тоже по ней, а не по id, который непонятно как делается. libastral по id не найти.

Не libastral, информация о программе может существовать в id/, поэтому без таблицы id-имя можно обойтись, но это будет неудобно и очень медленно.

100% сайтов перестали-бы работать, либо работали не правильно. Не все ссылки ведут в докрут, а те, что не ведут, ведут не по IP. IP вообще нужен только здесь и сейчас. В отличие от domain.

Однако адресовать по ip можно, но это неудобно.

Не так, как в венде. Но очень похоже.

С такой точки зрения unix и windows похожи. Это всё равно что сказать, что лендровер похож на жука - и то и то имеет 4 колеса и ездит, но там где проедет первый, не проедет второй.

э... Проблема в том, что ты нарисовал НЁХ, которая работать НЕ будет. Я пытаюсь объяснить - почему. Для меня это вполне очевидно. Если ты считаешь, что я не прав, попробуй реализуй, и столкнёшься именно с этими проблемами.

Другими словами у тебя «аргументы» закончились. Ок твоя точка зрения принята, осмыслена и я её не разделяю. Спасибо за диалог. Жаль лишь, что ты начал его говнометательства.

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

К чему это вообще? В мешанине отсутствует структура, об этом речь, а не о том сколько O(n) в матрёшке.

структуру можно найти где угодно, хотя-бы в помойном бачке - тяжёлые помои тонут, лёгкие всплывают. Однако, что-бы достать что-то конкретное из помойного бачка, тебе придётся переворошить в среднем пол-бака. И если бак вдвое больше, копать вдвое дольше. О чём и речь. Если короче - O(N).

Не libastral, информация о программе может существовать в id/, поэтому без таблицы id-имя можно обойтись, но это будет неудобно и очень медленно.

Однако адресовать по ip можно, но это неудобно.

что тебе мешает прямо сейчас записать эту информацию в xattr, и не парится со своими id? Можешь ещё и таблицу сбоку сделать...

Однако адресовать по ip можно, но это неудобно.

это не только «неудобно», но и невозможно, ибо IP таки меняется.

С такой точки зрения unix и windows похожи. Это всё равно что сказать, что лендровер похож на жука - и то и то имеет 4 колеса и ездит, но там где проедет первый, не проедет второй.

речь не о жуках. Речь о том, что в твоей схеме лишний уровень абстракции, твой id. Такая ерунда в Windows, но там она для совместимости с MS-DOS, и на примере Windows ты видишь, что несмотря на то, что каждая программа в своей папке, это профитов НЕ даёт. Костыли не пускают. И ты предлагаешь добавить в Linux этот уровень, но разве не очевидно, что в Linux это тоже не даст профита, как и в венде?

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

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

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

структуру можно найти где угодно

Чё мелочиться, давай вообще на атомарный уровень спустимся. :facepalm: Я предлагаю не мешанину, а структуру и точка.

что тебе мешает прямо сейчас записать эту информацию в xattr, и не парится со своими id? Можешь ещё и таблицу сбоку сделать...

Уже сказал, ранее можно, но есть операция «перетегировать всё» и второй момент нет вложенности - т.е. допустим id в xattr и база сбоку, если по каким-то причинам на файле нет id в xattr, то опять-таки нет возможности определить принадлежность файла к пакету.

Речь о том, что в твоей схеме лишний уровень абстракции, твой id.

У меня он не лишний.

Такая ерунда в Windows, но там она для совместимости с MS-DOS

Не совместимости ради в windows появился program files. В dos был бардак, а то, что кто-то стремился ручками упорядочить, создавай каталоги для каждой программы в попытке обуздать бардак - говорит о том, что хотелось удобства.(о чём уже столько сказано). Появление же program files - попытка m$ пойти на встречу тем, кто хотел удобства. Как оно получилось у m$ уже вторично. И в целом профиты в этом есть, вкупе со всем остальным, иначе бы m$ не «цвела и пахла». А подходы схожи лишь в стремлении пойти в сторону удобства.

ну в принципе - да.

На этом мог бы остановиться, потому что дальше игра слов в которой много стёба, мало логики и нет объективности.

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

Нет, там все сложнее. В пакете описывается что нужно подтянуть. А что нельзя, то идет в самом пакете. Это чем то похоже на OpenVZ контейнер под одну программу. Я пользовался, очень удобно, можно поставить программу (не компилируя) пятилетней давности и ни грамма не испортить себе систему. PBI-контейнер также может организовать для программы полностью линуксовое окружение. Для чего нужно? Например игры которые еще не портированы на FreeBSD спокойно работают (именно бинарники скомпиленные под линукс) в PBI.

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

Уже сказал, ранее можно, но есть операция «перетегировать всё

это id->file => id->name?

Что мешает это сделать, если id у тебя внутри файлов? Там ведь у тебя лежит и файлик с name? Отлично. Назови его id, и возможно сложи эти файлы в отдельный каталог ids/

и второй момент нет вложенности - т.е. допустим id в xattr и база сбоку, если по каким-то причинам на файле нет id в xattr, то опять-таки нет возможности определить принадлежность файла к пакету.

у тебя тоже нет никакой возможности определить, id, если программа „по каким-то причинам“ лежит в /usr/bin/, а не в id/

И да, у меня вот есть каталог /usr/bin/svn-tools, это id или нет?

У меня он не лишний.

а что он даёт кроме сложностей?

Упрощает _одну_ чрезвычайно редкую операцию, и усложняет _все_ остальные? По квадратным ступеньками шириной N см. Удобно ехать на специальных квадратных колёсах, и ты теперь будешь рассказывать мне, что надо _всем_ на таких ездить?

Не совместимости ради в windows появился program files. В dos был бардак, а то, что кто-то стремился ручками упорядочить, создавай каталоги для каждой программы в попытке обуздать бардак - говорит о том, что хотелось удобства.(о чём уже столько сказано). Появление же program files - попытка m$ пойти на встречу тем, кто хотел удобства.

ну это не попытка, это вполне очевидное действие.

Как оно получилось у m$ уже вторично. И в целом профиты в этом есть, вкупе со всем остальным, иначе бы m$ не „цвела и пахла“. А подходы схожи лишь в стремлении пойти в сторону удобства.

нет, не вторично. Такой подход возможен, тогда, и только тогда, когда работает за компом root, и только он _один_. Кроме того, этот root может запускать одновременно только _одну_ программу и работать с ней (допускается прослушивание музыки в фоне, или какие-то длительные рассчёты тоже в фоне).

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

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

Это не задача программиста.

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

А если программист может работать свою программу исключительно только в своём говнодистре - такой программист не нужен. Как и его быдлокод.

Вот правильно, Убунта не нужна.

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

Каких только чудес на ЛОРе ни встретишь.

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

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

Уже давно не.

Вылазь из криокамеры.

я это прекрасно знаю, и пытаюсь объяснить человеку, что затолкать все файлы в его уютный id НЕ получится. По той же причине, почему не получилось в оффтопике. И посему профита тоже не будет.

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

как можно узнать сущность несуществующего?

Философско-теологические беседы на ЛОРе.

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

Например ты думаешь, что drBatty - суть красноглазый фанатег в очках и с 6ю CD, который в три часа ночи пристаёт к прохожим, заставляя ставить слакварь с этих CD.

Отсыпь!

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

Например патч Брамина вычищает идиотов, которые запускают всякую НЁХ под рутом.

К сожалению, только лишь файлы на компах идиотов, а не самих идиотов...

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

Собери в другой префикс, будь мужиком.

читай сначала - на первой странице был религиозный запрет префиксов, слотов и ещё чего-то. Засудят@посадят. Так-то.

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

К сожалению, только лишь файлы на компах идиотов, а не самих идиотов...

самих идиотов вычищают «радостные» владельцы серверов, на которых идиоты запускают патч (ибо в их венде он не работает)

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

Рассматривая мой пример IRL относительно uuid, ты сделал акцент на несущественном и продолжаешь делать.

Сказал человек, постоянно пользующийся этим приёмом. Ок.

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

я то соберу, а вот домохозяйка или художнег — нет.

Домохозяйка и генту не поставит, это другой плоскости вопрос уже. Чтобы запилить для домохозяйки то, о чем ты говоришь, нужен пакетник типа zeroinstall + обработанные напильником программы, чтобы они могли подхватывать префикс в рантайме (как фирефокс умеет, например), опакетированные для него.

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

/run — это такой /var, который нужен до того, как смонтирован /var. Что тебе не ясно?

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

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

Этот «костылик» позволяет любой программе его поддерживающей подсунуть любые пути в качестве конфигов (.config) и дополнительных данных (.local). Собственно, этот «костылик» надо было ввести сразу же в систему вместе с «костыликом» PATH, а не через 30 лет.

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

Этот «костылик» позволяет любой программе его поддерживающей подсунуть любые пути в качестве конфигов (.config) и дополнительных данных (.local). Собственно, этот «костылик» надо было ввести сразу же в систему вместе с «костыликом» PATH, а не через 30 лет.

с этим трудно спорить...

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