LINUX.ORG.RU

Предпочитаемая схема распространения и установки приложений

 ,


0

0

В силу нарастающих тенденций к будущему оформлению приложений в виде неких контейнеров предлагаю обсудить тему правильной доставки софта в мире Linux.

  1. Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /home или др. местах вне системной иерархии 238 (30%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /opt или др. местах в системной иерархии 205 (26%)

    ***********************************************************************************************************************************************************************************************************************************************************************************

  3. Абсолютно весь софт должен быть под контролем централизованного пакетного менеджера (ЦПМ) 179 (22%)

    ************************************************************************************************************************************************************************************************************************************************

  4. Оставить под контроль ЦПМ базовую систему, остальное вынести в отдельные пакеты, использующие функции ЦПМ (напр. установку зависимостей) и системную иерархию 43 (5%)

    *********************************************************

  5. ЦПМ - зло, я хочу всю систему в виде самодостаточных бандлов-контейнеров 33 (4%)

    ********************************************

  6. Оставить под контроль ЦПМ базовую систему, остальное вынести в самодостаточные бандлы-контейнеры вне системной иерархии (напр. /home) 31 (4%)

    *****************************************

  7. Свой вариант 23 (3%)

    ******************************

  8. Оставить под контроль ЦПМ базовую систему, остальное вынести в отдельные пакеты, использующие функции ЦПМ (напр. установку зависимостей) и оверлейные ФС 16 (2%)

    *********************

  9. Оставить под контроль ЦПМ базовую систему, остальное вынести в самодостаточные бандлы-контейнеры в системной иерархии 14 (2%)

    ******************

  10. Оставить под контроль ЦПМ базовую систему, остальное вынести в самодостаточные бандлы-контейнеры в слоях оверлейных ФС 14 (2%)

    ******************

Всего голосов: 796



Проверено: beastie ()

Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /home или др. местах вне системной иерархии

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

funeralismatic ★★★
()

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

А контейнеры - штука крутая, но совершенно не нужная для обычного десктопного софта.

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

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

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

Количество пользователей и майнтейнеров тоже увеличивается.

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

А в чём проблема-то? Для малопопулярного софта и особых случаев существуют штуки типа AUR или PPA.

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

А в чём проблема-то?

в том, что на определённом этапе централизованная бюрократия начинает ворочаться настолько медленно и неоперативно, что либо разваливается в местах напряжений, либо перестаёт отвечать запросам реальности

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

Это умозрительный вывод, или реальное наблюдение? Есть ли, вообще, реальная проблема, которую вы предлагаете решать столь странным способом?

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

это логическое предположение, многократно подтверждённое реальным опытом

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

каким?

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

это логическое предположение, многократно подтверждённое реальным опытом

Приведите пример дистрибутива с описанными административными проблемами. Даже раздутый административный аппарат Debian'а вполне себе нормально работает.

каким?

Распространением приложений авторами в контейнерах а-ля макось, видимо. Или я вас не так понял?

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

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

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

Даже раздутый административный аппарат Debian'а вполне себе нормально работает.

а там уже перестали по полгода ждать свежий софт?

Распространением приложений авторами в контейнерах а-ля макось, видимо

да не, я не считаю, что это лучшее решение

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

твой пример какой-то не очень релевантный

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

Так это проблемы генты. И даже не столько генты, сколько упоротого портеджа.

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

а там уже перестали по полгода ждать свежий софт?

Это фича, а не баг. ☺

да не, я не считаю, что это лучшее решение

А что вы предлагаете, в таком случае?

Axon ★★★★★
()

Оставить под контроль ЦПМ базовую систему, остальное вынести в отдельные пакеты, использующие функции ЦПМ (напр. установку зависимостей) и оверлейные ФС

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

бОльшую часть же пакетов ставить systemwide в директории вида /usr/pkg/[какие-то опциональные промежуточные директории, вроде начальных букв пакетов]/$pkgname-$pkgver, если пакетный менеджер вызван из-под рута; либо per-user в иерахию $HOME, если из-под user.

Вместо бинарей пакета в /usr/bin будут ставиться скрипты, которые будут с помощью unionfs(-fuse), fakechroot и такой-то матери имитировать для пакета rootfs с правильными версиями зависимостей и запускать программу.

Выбор currently запускаемой версии, выбор default-версии — это уже всё детали. Первое можно cделать переменными окружения, второе — тоже, либо прописыванием в systemwide или per-user конфиг-файл.

TBH, я сам планирую реализовать эту схему, как будет время. Претендент на это — archlinux с его Archive. Предполагаю, что такую функциональность смогу налапшевать на bash с использованием package-query.

kike
()

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

Оставить под контроль ЦПМ базовую систему, остальное вынести в самодостаточные бандлы-контейнеры в слоях оверлейных ФС

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

Это нужно для 3rd-party софта, той же проприетарщины. Контейнеры работают в отдельных десктопах (скайп не сможет прочитать тот же /etc/passwd), мейнтейнить пакеты будет вендор, один пакет под все ОС. Никаких головных болей.

tensai_cirno ★★★★★
()

Весь софт под контролем ЦПМ + наличие крупного репозитория с самодостаточными бандл-контейнерами

Как-то так наверное.

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

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

Хотя конечно безопасностью при бандлинге и не пахнет

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

Хотя конечно безопасностью при бандлинге и не пахнет

Там конкретные технологии описаны.

tensai_cirno ★★★★★
()

Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /home или др. местах вне системной иерархии

Valdor ★★
()

Оставить под контроль ЦПМ базовую систему, остальное вынести в самодостаточные бандлы-контейнеры в системной иерархии

и

Оставить под контроль ЦПМ базовую систему, остальное вынести в самодостаточные бандлы-контейнеры вне системной иерархии (напр. /home)

я могу самостоятельно решить, ставить мне «остальное» в системную иерархию, или в $HOME.

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

а там уже перестали по полгода ждать свежий софт?

уже давно ждут >2 лет, или вообще вечно.

waker ★★★★★
()

Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /home или др. местах вне системной иерархии

Valkeru ★★★★
()

Всего голосов: 1

Зачем так быстро опросы сменяете?

CYB3R ★★★★★
()

Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /home или др. местах вне системной иерархии

yacuken ★★★★
()

Абсолютно весь софт должен быть под контролем централизованного пакетного менеджера (ЦПМ)

...Кроме, возможно, того, который ты разрабатываешь. Такой можно держать в $HOME.

А если ЦПМ не позволяет быстро опакетить всё что угодно — дерьмо ваш ЦПМ.

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

прекращай ходить в Сеть бухим

А ведь правда, совсем недавно люди именно ходили в Сеть, а не находились в ней все время, пока не спят.

amomymous ★★★
()

Максимально заоптимизировать оверлейФС, чтобы можно было на лету собирать огороженную файловую систему из сотен либ-зависимостей для любого приложения. Либы и приложения пусть хранятся где угодно - хоть на гитхабе, хоть в убунторепах, хоть на сайте автора. Главное выбрать (один из существующих?) единый формат описания зависимостей для пакета.

Тогда каждый будет сам решать, какому репозиторию он больше доверяет. И можно будет использовать в убунте qt от генты для запуска vlc с сайта автора.

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

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

Поэтому

Оставить под контроль ЦПМ базовую систему, остальное вынести

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

А почему это их не хватит?

Ну вот у меня Linux Mint 17.1 Rebecca, основан на Ubuntu 14.04 Trusty. Вот список программ, от которых в дистрибутиве есть только старые версии. Тут только некоторые программы, которые мне бывали нужны и которые я вспомнил из головы (но, конечно, я проверил, какие есть версии, прежде чем постить).

  • gucharmap 3.10.1, основанный на Unicode 6.3. Уже вышел Unicode 7.0. Скоро выйдет 8.0. И новый gucharmap уже вышел. Но его нельзя обновить без массового обновления библиотек, а поскольку песочниц нормальных нет, нового gucharmap не завезут до следующего Ubuntu LTS.
  • Praat — доступен выпуск 5.3.16, почти трёхгодичной давности. С тех пор вышло дофига новых версий, в т.ч. с новыми функциями. В альфа-версии Ubuntu Vivid та же версия, мейнтейнер её, видимо, бросил.
  • LibreOffice. Имеющаяся в репе сборка жутко падучая.
  • Calibre (для электронных книг). Они на сайте так и говорят: не рекомендуем ставить нашу программу из репозиториев, а запустите наш установочный скрипт, потому что в репозиториях она всегда устаревшая.

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

Кроме того, репозиторий universe, в котором в Убунте лежит подавляющее большинство программ, весь целиком имеет стратегию поддержки «ничего не обещаем, как только, так сразу».

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

Где вариант: «самодостаточные бандлы-контейнеры — зло, оправданное только для тестирования, и то в 10 раз реже, чем их пихают»?

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

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

А контейнеры - штука крутая, но совершенно не нужная для обычного десктопного софта.

Где номинировать тебя в пророки здравого смысла?

t184256 ★★★★★
()

Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /opt

Ну и как альтернатива, «допустимы в /home». Первый вариант - для программ, которых в ЦПМ нет, второй - для своих личных простеньких скриптов (жаль, нет мультивыбора).

hobbit ★★★★★
()

В силу нарастающих тенденций к будущему оформлению приложений в виде неких контейнеров

Я думал, ссылка ведёт на nix, а там какой-то велосипед от Gnome...

hobbit ★★★★★
()

А где «виндошный» вариант?
Скачал, поставил, через неделю переустановил ОСь, снова скачал, поставил...

drfaust ★★★★★
()

Тяжело ответить, ну, скажем, так:

Оставить под контроль ЦПМ базовую систему, остальное вынести в отдельные пакеты, использующие функции ЦПМ (напр. установку зависимостей) и системную иерархию

(похоже на Slackware).

В этом смысле мне импонирует подход FreeBSD/NetBSD, где обновление базовой системы контролируется своим инструментарием, а пакеты/порты — своим. Таким образом, при «стабильной» базе можно иметь свежий софт из портов.

Но что-то похожих дистрибутивов Linux мне не попадалось.

Lothlorien ★★★
()

Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /opt или др. местах в системной иерархии

dormeur86 ★★★★
()

Лёгким make && make install ваш debian становится slackware...

rezedent12 ☆☆☆
()

Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /home или др. местах вне системной иерархии

Единичные сторонние программы — это проприетарные, например игры.

Psych218 ★★★★★
()

Главное чтобы работало.

prizident ★★★★★
()

Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /home или др. местах вне системной иерархии
Весь софт под контролем ЦПМ + единичные сторонние программы допустимы в /opt или др. местах в системной иерархии

Имхо и тот и другой варианты имеют место быть.

PolarFox ★★★★★
()

Оставить под контроль ЦПМ базовую систему, остальное вынести в самодостаточные бандлы-контейнеры вне системной иерархии (напр. /home)

Вместо бандлов можно сделать юзерский ЦПМ.

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