Сайт | Скачать | Видео | Wiki

Голосование

как лучше организовать запуск?

Модули, без загрузки которых не будет работать программа грузятся молча, без запросов
2 (40%)
Запросы делаются только на те зависимости, которые нужно скачивать из репы, локальные без вопросов
3 (60%)
Зависимости грузятся только с вопросом в какую память их помещать
0 (0%)
Дать возможность пользователю выбирать молчаливую загрузку или с настройкой
0 (0%)
Оставить так как есть - по минимум 3 щелчка на каждую зависимость
0 (0%)

Проголосовало пользователей: 4

Автор Тема: Автоматизация запуска зависимостей  (Прочитано 4722 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн yxma

  • Истина - абсолютна. Но не в линуксе )))
  • Ветеран
  • *****
  • Сообщений: 1885
  • Репутация: +11/-0
  • Автор темы
  • конченый виндеец, местный сумасшедший 8) 8) 8)
Возможно, я слишком наглый пользователь или тупой, но думаю, что если пользователь запускает программу, то его главная задача - чтобы программа запустилась, и раз уж у нее есть какие-то зависимости, то вопрос какие именно не слишком интересен. Главное - чтобы программа работала. Хотя в случае необходимости скачивания ее из репы может возникнуть вопрос - что дороже - работа программы прямо сейчас или расход трафика. Конечно. подобные методы загрузки зависимостей присущи винде и фулл линуксам, но удобство, которое можно было бы получить в результате, неоспоримо
В любом случае прошу принять участие в голосовании.
забыл написать, что можно выбрать до 2 пунктов. Да и выбрать второй пункт забыл
« Последнее редактирование: 11 Февраль 2020, 00:54:39 от yxma »
успехов в труде и счастья в личной жизни!

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1718
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re: Автоматизация запуска зависимостей
« Ответ #1 : 09 Февраль 2020, 00:49:37 »
У мну вопрос - зочем(sic) делать модуль, без включения в него зависимостей?
Это хрен с ним, если пакетами ставить.
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5331
  • Репутация: +139/-1
Re: Автоматизация запуска зависимостей
« Ответ #2 : 09 Февраль 2020, 01:36:38 »
Например, предположим, что nss требуется для chromium и firefox. С вышеуказанным подходом не будет повторов, если использовать оба браузера.
Не знаю зачем так, но некоторые используют в системе несколько браузеров.

Вопрос, почему бы не включить nss в базу. Но предположим, что в качестве основного браузера используем palemoon и ему не нужен nss, а значит налицо уменьшение общего веса модулей. В результате все это очень близко к хотелкам некоторых пользователей, чтобы в системе было строго только то, что крайне необходимо. Плюс уменьшение размера базового iso.

P.s. Зависимость nss я использовал в качестве примера, возможно все не совсем так как я описал, имея в виду ее нужность/ненужность для разных браузеров.
« Последнее редактирование: 09 Февраль 2020, 01:39:16 от krasnyh »

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1718
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re: Автоматизация запуска зависимостей
« Ответ #3 : 09 Февраль 2020, 01:49:49 »
С вышеуказанным подходом не будет повторов
Плохой подход. Подключил 2 модуля - пользую 2 браузера. Отключил один браузер - не могу пользоваться ни одним.
Это тоже в качестве примера.

Вопрос, почему бы не включить nss в базу
А вот это хороший подход. Только анализ нужен того, что в базе нужно, а что нет. В Lighthouse Pup такие вещи выносились в Marriner.sfs и грузились отдельно, как zdrv к примеру. Но мне кажется, что это тоже плохой подход и нужно продумывать содержимое базы. В остальном - уж лучше некоторая избыточность и дубляж, чем "праграмманиработаетчтоделать?!!!??" и "памагитенайтимодульсзависимастями!!!!"

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

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5331
  • Репутация: +139/-1
Re: Автоматизация запуска зависимостей
« Ответ #4 : 09 Февраль 2020, 01:56:23 »
Плохой подход. Подключил 2 модуля - пользую 2 браузера. Отключил один браузер - не могу пользоваться ни одним.
Такого не будет. Для этих обоих браузеров nss прописан в зависимостях в start.sh. Если nss подключился, то все с браузерами будет ok, независимо от того, какой браузер мы отключили.

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1718
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re: Автоматизация запуска зависимостей
« Ответ #5 : 09 Февраль 2020, 02:02:44 »
Я хрен знает, что там в пра накрутили, но также знаю, что потом в 80% случаев что-то идет не так и начинаются вопросы, как я выше написал.
А ответы для пользователя обычно выглядят так: "пойди туда, не знаю, куда и сделай то, не знаю, что..."
И обычно они так и выглядят не только для обычного пользователя.
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5331
  • Репутация: +139/-1
Re: Автоматизация запуска зависимостей
« Ответ #6 : 09 Февраль 2020, 02:11:06 »
Там ничего сложного. В корне модуля лежит start.sh, который проверяет при запуске зависимости и предлагает подключить.
Пример, chromium-bin-gtk3-p-79.0.3945.130_64-sf01.pfs:
Код
live@pra-roll ..m-bin-gtk3-p-79.0.3945.130_64-sf01.pfs % ll
итого 1
-rwxr-xr-x 1 root root 187 окт  6 13:24 start.sh
drwxr-xr-x 5 live live  50 мар  3  2016 usr
live@pra-roll ..m-bin-gtk3-p-79.0.3945.130_64-sf01.pfs % cat start.sh
#!/bin/sh
[ "`uname -m`" = i686 ] && sfs-get-dep Gtk3 || sfs-get-dep 030-gtk3
#[ -f /usr/lib/*/libnss3.so ] ||
[ "`find /usr/ -maxdepth 2 -type f -name libnss3.so`" ] || sfs-get-dep nss-
Для чего так сделано и зачем все нужное приложению разбито на отдельные модули, написано выше. Главное конечно - уменьшение размера базового iso.
« Последнее редактирование: 09 Февраль 2020, 02:34:04 от krasnyh »

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1718
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re: Автоматизация запуска зависимостей
« Ответ #7 : 09 Февраль 2020, 02:18:54 »
Это частный случай и взят для примера. На все ли модули есть такая заготовка?
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5331
  • Репутация: +139/-1
Re: Автоматизация запуска зависимостей
« Ответ #8 : 09 Февраль 2020, 02:25:31 »
Конечно на все, где это востребованно. Там где модулю требуются зависимости, сознательно выделенные из базы или самого приложения в отдельный модуль - они прописаны в основном модуле приложения в скрипте start.sh. Чаще там нужная версия gtk -- 035-gtk2- или 030-gtk3-.

« Последнее редактирование: 09 Февраль 2020, 02:28:36 от krasnyh »

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1718
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re: Автоматизация запуска зависимостей
« Ответ #9 : 09 Февраль 2020, 03:13:14 »
И все же это на совести сборщика. Который может что-то пропустить. Стремно. А если модуль создавался не на "чистой" системе? Короче говоря - меня не переубедить, что лучше уж небольшая избыточность, чем наивно полагаться на сборщика.
Вообще модульность это хорошо, но пакетная система имеет свои плюсы. Поэтому я не сношаю себе моск и использую и то и другое, а не пытаюсь втулить что-то одно во все щели.
« Последнее редактирование: 09 Февраль 2020, 03:24:33 от imp »
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33972
  • Репутация: +231/-0
    • PuppyRus-A
Re: Автоматизация запуска зависимостей
« Ответ #10 : 09 Февраль 2020, 08:58:58 »
И все же это на совести сборщика
Это будет всегда

Т.к. на каждый слой aufs расходуется около 1,5мб памяти - совсем маленькие модули не актуальны
Т.е совсем мельчить смысла нет. Как минимум модули должны быть больше пакетов
На практике- модулей с 2 зависимостями мало. С 3 вообще не припомню
Короче - подход зависит от модуля

Деление на модули - это самое сложное. В пра уже наработано годами

Склеить - расклеить модули всегда просто. Только автообновление перестанет работать

Еще плюсы - дыра в nss - обновил только 1 модуль
если модуль создавался не на "чистой" системе?
Универсальное решение - chroot2pfs . Т.е. сборка во временно склеенном дубле ситемы
Для ленивых есть DE tint2 полностью портированная
Еще есть pfspkg
Usage: /usr/local/bin/pfspkg [-r] module.pfs
    -r - удалить информацию о пакетах из базы pacman. Содержимое пакетов не удаляется

Короче с модульностью на уровне идеи в LF все ок и больше из aufs не выжать
Скрипты для этого (кроме pfs-util) самопального уровня. Не изобретайте велосипедов - все дорабатываем LF  ;)
« Последнее редактирование: 09 Февраль 2020, 09:02:40 от sfs »

Оффлайн yxma

  • Истина - абсолютна. Но не в линуксе )))
  • Ветеран
  • *****
  • Сообщений: 1885
  • Репутация: +11/-0
  • Автор темы
  • конченый виндеец, местный сумасшедший 8) 8) 8)
Re: Автоматизация запуска зависимостей
« Ответ #11 : 11 Февраль 2020, 00:29:56 »
Пра не пользую
я думал, так здесь на форуме не бывает... Думаю - зря. И ПРА и Д10 не использовать, если знаешь, что они есть в природе? Они же летают!
успехов в труде и счастья в личной жизни!

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1718
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re: Автоматизация запуска зависимостей
« Ответ #12 : 11 Февраль 2020, 01:54:52 »
В дверь к цыганам постучали свидетели иеговы... Меня бесполезно обращать в ПРАвославие.
В природе есть много вещей, которые я не использую.
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн DdShurick

  • Это Риччи
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 8635
  • Репутация: +187/-2
  • Старый чайник
Re: Автоматизация запуска зависимостей
« Ответ #13 : 11 Февраль 2020, 07:51:10 »
Они же летают!
Разве? По сравнению с чем?
Моноблок Lenovo IdeaCentre c200 (Intel Atom D525, Intel GMA 3150, 2 Gb RAM) Richy64
Nettop Acer Aspire Revo R3610 (Atom N330, nVidia GeForce 9400, 3 Gb RAM) Richy64

Оффлайн yxma

  • Истина - абсолютна. Но не в линуксе )))
  • Ветеран
  • *****
  • Сообщений: 1885
  • Репутация: +11/-0
  • Автор темы
  • конченый виндеец, местный сумасшедший 8) 8) 8)
Re: Автоматизация запуска зависимостей
« Ответ #14 : 11 Февраль 2020, 09:00:12 »
Разве? По сравнению с чем?
со всем. Особенно с виндой, но и фулл линуксы крепко уступают. Особенно при загрузках. Единственное что мне не нравится - малозаметный курсор и незаметность активной закладки страниц браузера. С курсором я справился - правый клик сразу показывает где курсор. )))
Меня бесполезно обращать в ПРАвославие.
))) В юморе вам не откажешь ))) А какая тогда любимая ОС?
В дверь к цыганам постучали свидетели иеговы...
разрешите стырить ) Очень прикольно. И на редкость точная по смыслу фраза. Сами придумали или есть продолжение?
« Последнее редактирование: 11 Февраль 2020, 09:04:25 от yxma »
успехов в труде и счастья в личной жизни!