LINUX.ORG.RU

Нуботред: Арчлинукс - установка пакета без дополнительных зависимостей.

 , ,


0

2

Собственно в заголовке всё описано.

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

Как и что прописать куда-нибудь, чтобы дополнительные зависимости не тянулись автоматом?

ДОПОЛНЕНИЕ:

Запустил free -h в консоли. 330 мб. Так себе результат. В свежем и пустом гноме - 855 мб. Это заявленная минималистичность и легкость, или я чего-то не догоняю?

★★★★★

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

Я буквально вчера гном в дебиане ставил. Трикси, то есть тестинг, то есть сид. Так что есть с чем сравнить.

Жрет ресурсы арч так же. Реактивности на своем хламе не ощутил.

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

реактивность на старом железе можно сразу и на глаз заметить, загрузив liveCD void linux (я сам проверял)

но его разрабатывает полтора человека, так что тоже вариант не алё, увы

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

Разупорись. В GNOME Shell на JS написан весь интерфейс, и исполняется он именно на Gjs.

Упоротый тут не я.

GJS - Mozilla-based javascript bindings for the GNOME platform

Я, кажется, понял. Вы путаете gjs и libgjs.

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

А давай посмотрим на актуальную документацию?

https://gitlab.gnome.org/GNOME/gjs/-/blob/master/README.md

GJS is a JavaScript runtime built on Firefox’s SpiderMonkey JavaScript engine and the GNOME platform libraries.

https://gjs.guide/extensions/

GNOME Shell and extensions are written in GJS

$ ldd /usr/bin/gnome-shell | grep gjs
        libgjs.so.0 => /usr/lib/libgjs.so.0 (0x00007f366f97b000)
intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от utanho

Я, кажется, понял. Вы путаете gjs и libgjs.

Мне нравится твоя непоколебимая уверенность в себе.

Точно я путаю, а не ты проецируешь дебианизмы на весь остальной мир?

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

Мне нравится твоя непоколебимая уверенность в себе

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

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

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

Точно я путаю, а не ты проецируешь дебианизмы на весь остальной мир?

В ОпенСюсе точно также. А это рпм, если что.

Вы упорствуете, в ведь сами знаете, чья это вывеска.

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

Мы точно обсуждаем Arch?

$ pacman -Ss libgjs          
extra/gjs 2:1.76.2-1 [установлен]
    Javascript Bindings for GNOME

«gjs» и «libgjs» — это одно и то же. Повторяю: одно и то же. Просто в дебиане библиотеку с рантаймом и бинарник с REPL’ем (который суть тоненькая обёртка над библиотекой) разбили на два пакета. Зависимостей у gnome-shell от этого не убавляется, он в любом случае жёстко зависит от рантайма Gjs.

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

Да хоть у Папы Римского.

В GNOME есть только один проект, который содержит «gjs» в названии. Всё остальное — это самодеятельность, к теме топика (Arch Linux) не имеющая никакого отношения.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от utanho

Ты изначально писал вот это:

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

Здесь упоминается только некая абстрактная «минималка».

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 4)
Ответ на: комментарий от utanho

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

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

генту прям на ультраминималках собирать если только.

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

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

Количество пакетов не равно количество контента. Например, в Debian заголовочные файлы или локализацию выделяют в отдельные пакеты, тогда в Арче это все обычно часть одного пакета. В итоге имеем, например, в Арче:

libx11

А в Debian:

libx11-6
libx11-data
libx11-dev
libx11-doc

Разница в три допольнительных пакета при одинаковом количество контента. Иногда разница вообще в 10 и более пакетов (например, в случае с Boost).

А, впрочем, не пофиг ли? Это все погоды не делает, просто места на диске больше занято.

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

Мне количество пакетов не важно. Тут скорее обманутые ожидания. Я надеялся что арч это прям реально конструктор. Думал, что соберу минималку и посмотрю, что и как.

Фактически, минималки нет, запутанные ключи пакмана (спасибо, что хоть не вимоподобные). Любое телодвижение требует пересборки пакета.

Не оценил и не впечатлился.

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

Что поделать, идеальных дистрибутивов нет. Сколько я перепробовал - везде какие-то свои косяки или неудобства.

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

Количество мусора = количество лишних пакетов.

Общее количество пакетов - в каждом дистре разное. По разному опакечивают. В генте либреоффис - 1 пакет, в дебиане или еще где - 30. При этом в генте мусора будет больше.

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

Тут скорее не поиск идеала, а ковыряние с сортах.

везде какие-то свои косяки или неудобства.

Я к этому готов. Но что самое интересное, эти косяки - как детали мозаики. Дополняют друг друга, создавая общий узор.

utanho ★★★★★
() автор топика

пакман с его наркоманскими ключами

припоминаю что-то такое

в свежей системе хлама больше, чем в дебиане.

Добро пожаловать в Линукс. Здесь брезгуют делать dlopen() и ФОР ТЕХ высшая справедливость всё линкуют жестко. Поэтому у тебя нет шансов поставить скажем плеер и выбрать только те плагины, которые нужны.
Так же с другими монстрами типа libreoffice

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

Что до Арча, кто сказал что они «дополнительные»? Если это не слинкованные библиотеки и их зависимости, то может у pacman есть ключ навроде apt’овского –no-install-recommends.

Но смысла этим пользоваться нет особого.

Это заявленная минималистичность и легкость, или я чего-то не догоняю?

Не догоняешь. Кто её обещал-то и в каком виде?
Память ты экономишь ради чего?

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

Арч это прям реально конструктор, только не в том, где ты ищешь.

Арч — это конструктор в идейном смысле, а не в смысле раздроблённой на 100500 осколков пакетной базы. Хочешь GNOME с кусками KDE? Пожалуйста. Хочешь сетевую загрузку по iSCSI с dm-verity и аттестацией (хоть и не понятно, зачем)? Все инструменты перед тобой, кушайте-не обляпайтесь. Хочешь заменить mkinitcpio на dracut? Не вопрос. Заменить pipewire на пульсу или наоборот? Запросто, у дистрибутива нет предпочтений, обе программы поддерживаются на одинаковых началах. Один загрузчик на другой или вообще без загрузчика? Легко, и никто тебе не скажет, что это «неподдерживаемая конфигурация». И т. п.

А то, что тебе gjs не разделили на два бесполезных пакета (в одном из которых, собственно, рантайм gjs, а в другом REPL-обёртка) и теперь ты ноешь, что «гном нельзя поставить в минималке» (хотя это не так, ни один из пакетов гнома не тянет лишних зависимостей) и заниматься прочим крохоборством по части дискового пространства — ну так этого никто и не обещал.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от Polugnom

Встречается к сожалению. Например:

$ pacman -Qi gsettings-desktop-schemas | grep 'Depends'               
Depends On      : adobe-source-code-pro-fonts  cantarell-fonts  dconf  glib2

Вот нафига здесь шрифты? Без них gsettings и dconf нормально работают.

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

У меня есть некие lstopo и qv4l2. Впервые вижу эти пакеты и не имею понятия, кто их притянул.

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

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

Вполне объективные - софт тянет зависимости, обеспечивающие фичи, которые могут быть не нужны 90% ЦА. И это хоть плагинами, хоть нет (см. выше). Поэтому в системе стоит дофига всякого хлама, который занимает место, обновляется, забивает ФС кучей своих файлов. И это всё зачастую просто лежит. Про переводы на монгольские языки я уже молчу. Ландо хоть localepurge есть.

Ставишь vim из реп - тебе прилетает, среди прочего Ruby. WTF??? А потому что слинковано с libruby и всё туд.

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

Значит надо подправить ебилд. Мне всегда и везде приходилось вим пересобирать, потому что никто его не собирает как надо (мне). То зафигачат huge сборку с питоном, руби, луа и тиклем. То наоборот недособерут что-то нужное.

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

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

а что там могут недособрать? Поддержку Athena лол?

сам вим собирал есессно huge только Ruby нафиг с пляжу. Ну GTK3 включить, чтобы не думать подцепит он его или нет. А больше в Makefile там особо и менять ничего не надо.

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

а что там могут недособрать? Поддержку Athena лол?

Ну хотя бы. Или вот если собирают консольный вим, то не подключают X11. Вроде бы логично, но тогда иксовый буфер обмена не фурычит. А ненужная гуи версия собрана с неправильным гтк. И мне тоже не нужна зависимость от системного руби, у меня свои руби собраны в /opt. Да и все прочие питоны тоже мне нафиг не нужны в виме.

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

Кто решает что лишний

Судя по всему - сопровождающие пакета.

Пмсм, лишние зависимости = избыточные. Наличие избыточности зачастую свидетельствует о недостаточном тестировании пакета.

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

Ну хотя бы.

Athena? Ты знаешь, что это вообще?

собирают консольный вим, то не подключают X11. Вроде бы логично

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

ненужная гуи версия

кулхацкер-любитель мудохаться с терминалом только ради красноглазия? Гуй в виме конечно сделан так, что просто нахлобучен на соснольный, но он хотя бы помогает. А если мне надо не отходя от терминала, я набираю vim.

И мне тоже не нужна зависимость от системного руби

поэтому и надо тупо dlopen() сам указываешь нужную либу. А в пакет-манагере зависимость сделать «по желанию». Но…

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

То есть -S это Sync? Сразу всё стало понятно, да

Таблица соответствия команд пакмана другим PM из ‘конкурирующих’ :) дистрибутивов, https://wiki.archlinux.org/title/Pacman/Rosetta#Basic_operations.

Пример:

pacman -Ss | dnf search | apt search | zypper search | emerge --search 


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

У меня было веселее. Полдня собирался llmv, а потом какой-то либе потребовалась другая версия. Полдня собиралась другая llvm. В системе стало 2 llvm. И таких косяков много. Гента нынче требует намного больше времени на себя, чем во времена, когда её считали «красноглазой»

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

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

когда уже в терминале нет проблем с Alt

лол.

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

Их нельзя понять

Ну почему же, у каждой короткой буквы есть вариант в виде длинного слова. )

$ pacman --help

    pacman {-h --help}
    pacman {-V --version}
    pacman {-D --database} 
    pacman {-F --files}    
    pacman {-Q --query}    
    pacman {-R --remove}   
    pacman {-S --sync}     
    pacman {-T --deptest} 
    pacman {-U --upgrade} 

pacman(8)

upd. Но да, pacman {-S --sync} ничем не напоминает установочный параметр. :) Типа, как тот же apt install.

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

Их нельзя понять, можно просто выучить

У pacman лучшие ключи. У всех коротких ключей есть альтернативные длинные ключи с простыми названиями. Система команд и ключей так логично спроектирована, что без проблем запоминаешь сразу короткие. Это не баг, а фича. -Rscn, например, равно --remove --recursive --cascade --nosave. Логично? Логично.

Мне вообще не пришлось специально учить ключи. Сами очень быстро запомнились. Как-то мой мозг проще запоминает pacman -Rscn, чем pacman --remove --recursive --cascade --nosave или apt-get autoremove --purge.

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