LINUX.ORG.RU

Зачем сборщики пакетов Debian переименовывают и кладут в странные места бинари

 


0

4

По работе потребовалось установить Debian (нужен специфический софт, сказали, что проще установить распространённый deb-based дистрибутив, нежели мучиться с тем, что софт не будет работать на других).

Поставил Debian Trixie. Сразу же сталкиваюсь с дикой дичью. Например, утилита bat зачем-то устанавливается как бинарник batcat. Ничего, что во всех скриптах написанных где-либо на Земле, она пишется как bat, и теперь все их надо переписывать.

Или вот супер удобная замена find - fd. Оно зачем-то устанавливается, куда бы вы подумали… Тадам! /usr/lib/cargo/bin/fd! При этом, данный каталог даже не добавляется автоматом в PATH.

Зачем? Зачем они всё ломают, в чём сакральный смысл? В чём смысл установки утилиты под другим именем, ломающим все скрипты, или смысл установки бинарника в место, откуда он не может быть запущен?

И это, боюсь, только вершина айсберга.

Да и набор пакетов. Когда-то Debian мне нравился тем, что в нём был вообще весь распространённый софт. Сейчас же в нём нет многих довольно распространённых утилит, приходится устанавливать их как Flatpak, или ещё каким-нибудь уродским образом. Например, anki в дистрибутиве нет, как и многих других распространённых программ.

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

Perl крутой, без вопросов. Но как-то мир ушёл от перла.

ну а греп простой как валенок удобен в подручном использовании.

Да вот нифига и не удобный по факту. rg куда удобней. Не просто так все эти инструменты обрели такую популярность. И если преимущества fd перед find я особо и не прочувствовал (а то, что он в .git и прочих игнорируемых папках не ищет по умолчанию, это и вовсе меня раздражает), то ripgrep это прям очень крутая штука.

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

Например, anki в дистрибутиве нет, как и многих других распространённых программ.

Anki надо ставить с сайта производителя — флатпак собирают васяны. В демьяне совсем нет смысла собирать этот пакет, так как релизы довольно часто, да и поддерживать пакет довольно трудно, наверное.

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

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

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

Да нормально всё с find

С ним ненормально то, что у него нет разумных defaults. В 80-90% случаев пользователь хочет найти:

  1. Файл, начиная с текущего каталога (можно не указывать явно)
  2. Название файла по подстроке (можно не требовать glob, который, к тому же, в большинстве шеллов требуется экранировать)
  3. Файл, который не hidden и не находится в шаблонах .gitignore

Зачем заставлять людей 40 лет писать кучу ненужных опций и скриптов на каждый вызов, когда можно сделать утилиту с уже разумными дефолтами? Которая делает всё то же самое, но требует в 20 раз меньше нажатий клавиш?

Ну а grep простой как валенок, какие к нему претензии

Хотя бы за это и претензии. Если работаешь в командной строке, или строишь какие-то текстовые интерфейсы, например, в vim, то эта простота заставляет постоянно изобретать криво работающие велосипеды.

ripgrep в разы удобнее при любом применении.

Chiffchaff
() автор топика
Ответ на: комментарий от papin-aziat

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

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

для любителей свежих багов всегда есть путь создания своего репозитория

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

papin-aziat ★★★★★
()
Ответ на: комментарий от Chiffchaff

Файл, начиная с текущего каталога (можно не указывать явно)

так работает же, в чем претензия?

не находится в шаблонах .gitignore

какой-то не очень обычный пользователь

требует в 20 раз меньше нажатий клавиш?

так LLM же, там даже думать не надо

то эта простота заставляет постоянно изобретать криво работающие велосипеды.

греп виноват, что его куда-то криво прикрутили и строят текстовые интерфейсы в vim?

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

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

@papin-aziat, ничем конечно же. это ж для любителей свежести в попке. иль твоя заява про невыносимость гомна «не сюда» ??

pfg ★★★★★
()
Ответ на: комментарий от papin-aziat

если про последний главный разработчик так и говорит типа «там бывают баги, которых нет в офф. релизах».

В Debian 13 кеды 6.3.5, в которых остался анноящий баг, что plasma постоянно падает при изменении конфигурации мониторов (например, при подключении внешнего монитора, при засыпании внешнего монитора), а также мелкие баги с сочетаниями клавиш (тут до конца не разобрался ещё, что именно приводит к багу, но похоже на столетний баг KDE).

Оба этих бага на виду, падение плазмы прям дико раздражает, и оба наконец пофикшены в самой последней версии KDE. Не знаю уж как, но у меня личный десктоп на Arch с последней версией кед, и после обновления кед где-то месяц назад, эти старые баги наконец ушли.

Так что совсем не факт, что сидеть на старых версиях - гарантия отсутствия багов.

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

ну-ну, а потом начинается: вот тут не собирается — либа А слишком старая, а либа А зависит от либы Б, которая в свою очередь от пол-дебьяна зависит, и ты такой — У-уУ-Фф, написать что-ль ментейнерам, пусть обновят там, ули они там жопу протирают :) А после долгожданного ответа, типа «ты чо заяц, нам тут работать надо», думаешь — лучшеб со слакой дружил :D

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

Если работаешь в командной строке, или строишь какие-то текстовые интерфейсы, например, в vim, то эта простота заставляет постоянно изобретать криво работающие велосипеды.

Зубодробительные конвейеры пишутся один раз в скрипте, либо где-то в .vimrc, и потом даже не вспоминаешь, что там за ужасы. Но даже если надо прямо в консоли, вызвал из истории, подправил и вперёд. Я в основном пользуюсь плагином ack в виме, и как-то пофиг, какая там реализация поиска под капотом. А велосипеды это наше всё, есличо. На этом юникс стоит.

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

ни в коем случае не спорю.
«неумеючи можно и х** сломать» - древняя пословица всегда права.

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

pfg ★★★★★
()

утилита bat

во всех скриптах

супер удобная замена find - fd

Я на поводке у хозяина юзаю известно_что, почему какие-то левые люди не хотят поддерживать меня в этом?

Прямо бинго. Конкретно в данном случае они верно делают. Точнее, совсем верно было бы вовсе эту байду не поставлять(из карго же в пару кликов можно собрать что нужно, со всеми зависимостями, так ведь?). Но хоть что-то.

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

«неумеючи можно и х** сломать» - древняя пословица всегда права.

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

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

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

pfg ★★★★★
()

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

Если какой-то бинарник переименовали, значит есть другой пакет с таким же именем бинарника. Для 2-3 буквенных комбинации типа fd или bat риск конфликта очень велик.

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

С ним ненормально то, что у него нет разумных defaults. В 80-90% случаев пользователь хочет найти:

Файл, начиная с текущего каталога (можно не указывать явно) Название файла по подстроке (можно не требовать glob, который, к тому же, в большинстве шеллов требуется экранировать) Файл, который не hidden и не находится в шаблонах .gitignore

В точности для этого юзкейза есть locate. Ну ладно, без первого пункта. Зато мгновенно.

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

Так прям сейчас у людей fd работает не так, как они ожидают. Они пишут fd, а им пишет: command not found.

Не совсем так. Вместо интерфейса (file and directory tool) выхлоп какой-то сыплется.

Не может. Дебиановские маразматики решили за него.

Отобрали ln и alias?

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

У него нет опции для замены найденного текста на нужное выражение, эта задача встречается при работе с текстом чуть менее чем всегда. В итоге приходится городить уродливые пайплайны с grep + sed.

А ещё у него нет опции для проигрывания аудио и видео, отправки емейлов и просмотра www. Как ты думаешь, почему?

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

Ну иди напиши свою программу и назови ее google chrome, они быстро объяснят про сквоттеров

https://github.com/sharkdp/fd/issues/1009#issuecomment-1126961367

When I chose the name originally, I did in fact search for other > packages/executables that were named the same, and didn’t find ? > any. But I sure knew that I was asking for trouble when choosing > a two-letter name.

а автор ripgrep как-то успешно справился с этой относительно сложной задачей

Я конечно не понимаю кому этот оригинальный fd нужен, но народ ставит его, даже на маке

brew info fdclone | grep ^i 
install: 9 (30 days), 27 (90 days), 99 (365 days)
install-on-request: 9 (30 days), 27 (90 days), 99 (365 days)
user_undefined ★★
()
Ответ на: комментарий от gruy

Даже уже не вижу смысла объяснять. «Деды 60 лет назад придумали идеальный интерфейс, не нуждающийся в усовершенствовании».

М.б. там дед в своё время с похмелья пришёл, и не думая набросал UX на один раз. А оно прижилось и стало легаси.

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

Маразм.

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

М.б. там дед в своё время с похмелья пришёл, и не думая набросал UX на один раз. А оно прижилось и стало легаси.

настолько плохо набросал, что никто особо не заморачивался альтернативами до момента, когда понадобилось что-то переписать на раст

anonymous
()

Или вот супер удобная замена find - fd. Оно зачем-то устанавливается, куда бы вы подумали… Тадам! /usr/lib/cargo/bin/fd!

Действительно безобразие. Ставить нужно было прямиком в /dev/null!

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

Ну find ладно, а что там в интерфейсе grep или cat можно улучшить? Только испортить можно, сделав их комбайнистыми. Повторюсь, этот ripgrep вводит в заблуждение, это не замена grep. А за такое название надо бы ссаных тряпок прописать. Пусть рипают гугл хром, они же это собирались сделать со своим растом. Но запала хватило только на греп с котом.

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

Я не могу поверить, что человек, работающий десятилетиями в командной строке, не видит в чём преимущество fzf, fd, ripgrep.

Такого просто не может быть, потому что они ВСЕМ лучше. Они на порядок удобнее, позволяют гораздо быстрее и проще достичь результата (найти нужный файл, нужное вхождение в файле).

Если человек этого не понимает, то он либо не работает в CLI (а работает, например, в mc или чём-то подобном), либо вообще не пробовал упомянутые утилиты («они ж нарушают принципы полувековой давности! написаны на б-гомерзком Rust!»).

Потому что я просто не могу понять, как человек сможет, например, вернуться к использованию grep, попробовав ripgrep. Вообще никак не могу.

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

Люди которые именно работу работают делают это на серверах где по стандарту этих блестящих игрушек нет.

На домашнем компе я тоже не пойму зачем нужно что-то другое если есть то что просто работает везде?

Такого просто не может быть, потому что они ВСЕМ лучше.

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

В общем ИМХО, все эти мелкие утилитки заточены под задачи какого-то раста-Васяна со смузи, стандартные же инструменты рассчитаны на широкий круг задач.

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

Ещё zsh забыли упомянуть, или что там щас модно. А зачем интересно так усердно работать в CLI? Вот приводили выше поиск и потом греп по найденному. Так это всё делается не выходя из вима. Тот же mc тоже годный инструмент, можно обвесить его скриптами, и будет в сто раз удобнее консоледрочества. Все эти утилиты нужны, чтобы склеивать их в скрипте, а не наяривать руками и потом утомившись искать какой-то необыкновенный комбайн.

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

В 95% случаев, искать среди скрытых и .gitignore не требуется. На то они и «скрытые» и на то они «ignore». Поэтому, наборот, сильнейшим образом напрягает, что для старых find, grep надо колхозить какие-то дополнительные условия, чтобы они не искали там, где не надо.

Я не знаю, что это за workflow такой, у немодного не-смузихлеба, что ему наборот надо искать среди скрытых и игнорируемых. Сдаётся мне, что как раз в этом случае надо что-то в консерватории править.

Chiffchaff
() автор топика