В убунту может появиться новый упрощенный формат сборки пакетов и новый установщик

    image

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

    Уже существующие пакеты не будут изменены и будут продолжать использовать dpkg и apt и сохранят совместимость с Debian и пр.

    «Клик-пакеты» (ориг. Click packages) нацелены на упрощение сборки пакетов: без зависимостей между приложениями, без сборочных инструкций (maintainer script) и каждое приложение будет устанавливаться в свою собственную папку.

    Новый формат пакетов требует нового установщика, уже есть концепт низкоуровневого установщика приложений, полностью написанного с нуля. Основные возможности реализованные к данному моменту:
    — нет необходимости в зависимостях между пакетами
    — одна небольшая зависимость от основный системы установки (клик-бэйз-системы)
    — установка приложения в отдельную директорию
    — полная декларативность, сборочные инструкций (maintainer script) запрещены
    — ускоренное время установки, например установка пакета содержащего один маленький файл, примерно, 0,15 секунды (на новом х86 компе) и примерно 0,6 на Nexus 7. И это при том, что прототип реализован на Питоне, а в последствии установщик перенесут на С, что должно будет еще немного ускорить установку.
    — нет ограничений на установки только из под рута, хотя могут быть реализованны подобные ограничение где-нибудь еще для уверенности что приложения не смогут редактировать свой собственный код во время их работы
    — пакеты создаются при помощи питонового сборщика, просто указав древо каталогов и manifest.json файла
    — сборка пакетов требует только стандартной библиотеки питона, так сделано с целью упростить сборку на не убунтушных дистрах и не линкусовых осях
    — формат бинарников достаточно схож с уже существующим для того чтоб была добавлена поддержка высокоуровневых инструментов с минимальнми усилиями

    Разработчики, как вариант, рассматривали использование уже имеющихся подобных решений, таких как Listaller и 0install. Но Listaller требует зависимостей, а 0installer как оказалось довольно сложено интегрировать в систему. Поэтому было решено реализовать данный проект с нуля.
    Больше информации в рассылке UDML
    Поделиться публикацией
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 177
      –8
      Ура, походу наконец-то можно будет скачать пакет, скинуть на флешку и установить его на компе на котором инета нет!
        +5
        Эх, я, помнится, для таких случаев выкачивал репозитории у друга и записывал их на CD болванки.
          +2
          Таки разве нельзя было?
            +5
            А, видимо вы про зависимости.
              +6
              apt-offline работает исправно.
              Регулярно пользуюсь.
            +17
            apt-get --print-uris прекрасно решает данную проблему. Отсутствие зависимостей — это гигантский минус, а не плюс, из-за которого мне больше нравится linux, а не windows. Что-то мне подсказывает, что авторы клика имели в виду немного другие задачи, например, убунту-маркет. Где будут только приложения, написанные на qml, например.
              +3
              >Отсутствие зависимостей — это гигантский минус, а не плюс
              Но за это приходится сильно платить.
              Было бы очень хорошо, если бы была гибридная система, например на текущей убунте можно было бы поставить пользовательские приложения в свою изолированную песочницу и иметь возможность запускать скажем, как текущий фаерфокс из репозитория так и следыдущую версию в песочнице из дистрибутивонезависимого пакета. Имхо линукс только бы выиграл.
              Что сделает убунту пока непонятно, но упростить способ сборки пакетов, чтобы любой программист не заморачиваясь и обучаясь смог собрать пакет а не упрашивать мейнтейнеров или гуглить разрозненную информацию какими же шаманствами надо собирать этот деб-пакет.
                0
                Есть ведь некий дистрибутив, который был разработан именно с этой целью. Обеспечить функционирование таких standalone приложений без зависимостей. Никак не мог найти его название и упоминания о нем.
          +1
          На лоре давно обсудили.

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

            … которая уже существует. Пусть эти юзеры дальше продолжают ею пользоваться, а не проталкивать свои кривые идеи куда не надо
              +5
              Идеальной — пока не существует. Так что ещё есть куда развиваться.

              куда не надо
              У нас в линукс мире вроде демократия — никто никого ни к чему не принуждает. То, что происходит в убунту, не вредит вашим гиковским генту, арче, слаке, etc, и не заставляет вас переходить на тот же формат, чего вы так волнуетесь?
                –3
                Ну, есть просто опенсурс, «демократия», «свобода». А есть мейнстрим и мода. И вот моде, увы, подвержен даже опенсурс. И кому-нибудь, глядя на «мейнстримный» (крайне спорная терминология, но всё же) дистрибутив, данная идея может показаться как минимум интересной. И понесёт…

                Да, идеальной нет. Но то, как они описывают придуманное, мы уже проходили. И Dependency-Hell променивать на DLL-Hell очень не хотелось бы.
                  +3
                  Ну так если при порче дистрибутива нечестивцами, расово верный подход соберёт достаточное количество старообрядцев, они просто форкнут любимый дистр, сохранив чистоту рода. А дальше история рассудит, кто был прав и какой подход имеет право на жизнь, а кто нет.

                  Но то, как они описывают придуманное, мы уже проходили.
                  И как всё закончилось? Был ли такой подход когда-то в линуксе? В других никсах? Чем всё закончилось? Если владеете историей — будьте добры, просветите. Можно даже в отдельной статье.

                  И Dependency-Hell променивать на DLL-Hell очень не хотелось бы.
                  Ну при ортодоксальном подходе и непоколебимому следованию принципу пакетов «всё своё несу с собой», и dll hell'а можно избежать. Благо ёмкость современной памяти это позволяет.
                    +11
                    Ага, давайте вместо одной-единственной библиотеги глибцов ставить вместе со всяким говнософтом 15. А потом ОЙ ПАНИКА УЯЗВИМОСТЬ В GLIC ОБНОВИТЬСЯ СРОЧНО. А 13 из 15 вендоров этого ПО и думать не думают об обновлении. Да ты и сам не знаешь, где у тебя эта библиотека используется, а где нет. А если и знаешь, то ты ещё попробуй заставь это статически слинкованное поделие работать с новой версией.

                    Нет уж, спасибо. Пусть этот срач остаётся дальше только на винде. А я уж как-нибудь смогу справиться с ужасами зависимостей
                      0
                      Если разработчик забъет на свою программу, то зависимости не решатся сами собой. А по идее будет даже хуже. Пример, python2 vs python3.

                      Никто от зависимостей не отказывается же.
              +9
              Какая разница неопытному пользователю есть у пакета зависимости или нет? Они всё равно ставятся автоматически.
              Он просто нажимает install в software center.
                +3
                Да, но если мейнтейнеры не обновляют программу в репозитории, а пользователь хочет версию новее или наоборот? То тут уже не всегда все гладко может быть и с большей вероятностью придется запускать консоль.
                  +1
                  Качаете deb с сайта производителя, или подключаете их репозаторий или ppa
                    0
                    ppa только и спасает, хотя еще и знать надо как добавить :) А вот чего не хочется, так это лезть по сайтам и качать пакты от туда, хочется более централизованный подход
                      +3
                      ну некоторые deb пакеты с сайта производителя сами прописывают при установке свои репозатории, чтобы обновляться всесте со всем
                        +1
                        А вот это хороший подход. Но я бы еще добавил шаг подтверждения. Например: здравствуйте, вы сейчас поставите себе супер програмулину, но для того, чтобы постоянно получать самые свежие обновления мы добавим наш источник к вашему списку. ОК?
                          0
                          В Ubuntu Tweak так и сделали.
                            +1
                            Это отличный подход
                            Да и вообще репозитории можно подключать с помощью пакетов — так проще.
                          0
                          Так вот и занялись бы они решением «проблемы» как легко и просто добавить ppa с сайта производителя. Помню в maemo можно из браузера репозитории подключать.

                          А эта их идея слишком похожа на винду.

                          И таки не понятно чем плох текущий способ? Так же в один клик устанавливается.
                            +1
                            Нет такой проблемы. Вы тыкаете в браузере на .deb-пакет, он открывается в software-center(gdebi был лучше он не тормозил), нажимаете install — пакет при установке прописывает свой ppa
                            Так делает, например, chrome и skype, вроде бы
                              0
                              Тонкостей не знаю сих, сижу на другом дистрибутиве не deb. Но тогда тем более проблем нет.
                          –1
                          А там зависимости, которые автоматически не разрешаются и надо гуглить другие deb и устанавливать их так же.
                            0
                            Обычно там deb`ы под конкретные версии дистрибутива.
                            Либо они содержат в себе всё что нужно
                              –1
                              А вот не было для 13.04, и всё что нужно не содержали.
                        0
                        Какая разница неопытному пользователю есть у пакета зависимости или нет?
                        В теории разницы нет. На практике из-за недоработках самих систем управления версиями, ошибок мейнтейнеров, иногда бывают проблемы с зависимостями. То же пресловутое понятие dependency hell не писателями-фантастами же выдумано.
                        На данном этапе развития систем управления пакетами и вообще программирования подход с крупными пакетами, включающими в себя всё, более надёжен, менее проблематичен, а значит и более предпочтителен для неопытного пользователя.
                          –1
                          Зависимости могут не разрешиться автоматически и неопытный пользователь их разрешить не сумеет. Вот буквально на днях ставил UFO: AI ручками скачивая и устанавливая deb-пакеты.
                            +1
                            у меня такие проблемы были последний раз во времена redhat linux 5-7, когда я пытался поставить левые rpm от другого дистрибутива и т.п.
                        +2
                        Никакой информации о сроках. Только «задумались»
                          0
                          Помойму лучше заранее обсуждать с комьюнити, чем как GNOME developers сразу в trunk комитить.
                            +1
                            Вот к примеру: bugzilla.gnome.org/show_bug.cgi?id=698544

                            Удалили настройку прозрачности gnome-terminal в minor версии. Ни слова предупреждения, ни попытки обговорить с комьюнити.
                            –1
                            Получается, это будет как в OS X? Классно же!
                              0
                              В OS X не так хорошо же. Из командной строки не запустить приложение, только руками искать бинарники в бандлах и делать симлинки, которые тоже не всегда работают.
                              Тут лучше тем, что остается и старая система.
                              Бандлы для проприетарных вещей хороши только :)
                                –1
                                Хм, маленькая поправка: классно для простых пользователей.
                                  +1
                                  Я — простой пользователь. И нихрена это не классно выглядит. Слака-стайл.
                                  +8
                                  $ open /Applications/Calculator.app
                                    +1
                                    Оу, не знал.
                                    А параметры если скормить, тоже скушает? Ну, типа, картинку показать, или видеофайл?
                                    Хотя тоже многословно слишком, алиасы только если делать.
                                      0
                                      Если открыть файл то
                                      $ open /Applications/VLC.app/ ~/Downloads/sample.avi
                                      

                                      просто аргументы через --args

                                      Да, не самый короткий вариант. Для частого использования лучше скрипт/алиас сделать.
                                        0
                                        $ open -a Calculator
                                      0
                                      Может имелось введу, то что вместо:
                                      $open /Applications/Calculator.app
                                      обычно используетя
                                      $calculator
                                      или же
                                      $calc[tab]
                                        +1
                                        Пользователю это не нужно. Пользователю нужно либо два раза кликнуть по приложению, либо вызвать хоткеем Alfred, набрать «calc» и нажать «энтер». Всё.
                                        Если ты настолько умный, что бы лезть в консоль, то куда написать alias calculator=«open -a Calculator» ты должен знать.
                                        Но самое главное заключается в том, что оно всё равно нафиг не нужно, так как десктопные приложения не надо запускать из консоли. В большенстве случаев это попытка сделать что, чего на самом деле делать не надо.
                                  +31
                                  Ну вот, теперь каждый пакет будет по 100 мегабайт и каждый будет ставить свои библиотеки. Не круто это.
                                    0
                                    Так пусть тяжелые библиотеки ставятся отдельно, а легкие запихиваются в пакеты. Вряд ли в каждом пакете будут лежать GTK или Glib.
                                      +3
                                      Тогда это неплохо, но все равно сомнительно. Я не спорю, иногда бывает полезно тягать библиотеки с программой, например, если программа работает со старой версией библиотеки, а с новой не работает, и приходится либо даунгрейдить библиотеку, либо собирать старую и называть ее lib-legacy, или вроде того, что не всегда удобно. Но если в пакете будут какие-то популярные библиотеки, которые наверняка стоят в системе, и этот пакет будет еще раз ставить их же, то это не круто.

                                      Т.е. если этот пакетный менеджер вообще ничего знать не будет про зависимости, то польза от него очень сомнительна, сами посудите, если у пользователя не установлен GTK3, к примеру, а в пакете его нет, то пользователю потом вручную его ставить нужно будет? Но если зависимости разруливаются так же, через стандартный репозиторий, то это достаточно неплохой формат пакетов.
                                        –2
                                        Именно! В той же OS X все довольно централизованно и поэтому в зависимостях необходимость мала, но это неприменимо к разнообразию Linux. Пусть при установке либо запуске такого пакета проверяется, все ли нужные библиотеки присутствуют внутри пакета или в системе. Если не все — то установка их из репозиториев (с запросом пользователя или тихая, в зависимости от настроек).
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                            +1
                                            Не, я имею в виду, что совсем без зависимостей нельзя. Надо оставить зависимости, но искать их сначала внутри пакета, потом внутри системы, и если не найдены нигде — то тогда уже качать из репов.
                                              0
                                              Сначала искать внутри системы, а не пакета. Зачем куча копий библиотек?
                                        0
                                        Если библиотеки мелкие — не проще ли их тогда статически линковать?
                                        +1
                                        Ну в принципе, если таким образом будут собираться лишь некоторая часть пользовательских приложений от сторонних разработчиков, а все остальное сохранится по-старинке то будет хорошо. Просто по опыту N900, выкачивать репозиторий, ждать пока обновляться индексы, дабы установить небольшую программу… больше трафика и времени уйдет на то что бы получить список пакетов, чем сам пакет)
                                        +40
                                        >бес сборочных инструкций

                                        Новичок среди демонов и зомби, видимо? :)
                                          0
                                          Интересно, возможно ли будет этот установщик поставить на очень старые системы или только для новейших и мобильных осей?
                                            +11
                                            Объясните, пожалйуста, что хорошего в отсутствии зависимостей.
                                              –2
                                              Идея скорее в том чтобы использовать одну убунту на всех девайсах и вот как раз в этом месте зависимости — лишь пустая трата времени процессора.
                                                0
                                                Не понимаю вас.
                                                  +3
                                                  Вся эта катавася из-за Ubuntu Phone. Каноникал нужно добиться максимальной стабильности системы и одно из решений — изоляция приложения в индивидуальной песочнице. Идея не нова, ее сейчас используют все от андроида до айос. Зависимости иногда ломаются, иногда софт обновляет библиотеку, с которой не сможет работать другой софт, потому-что автор был непредусмотрительным/неопытным, например.
                                                  И тут само-собой рождается вопрос: зачем нам две системы, когда можно сделать один minimal, с одним менеджером пакетов и блекджеком, и просто натянуть разные оболочки для дескторпа и тача?
                                                +2
                                                наверно в том, что не будет dependency hell
                                                Т.е. как в винде — поставщик отвечает за полноту пакета, за исключением может быть системных вещей вроде Java/.NET/vcredist
                                                Для open source это непривычно, и видимо не очень нужно. Но в целях «упрощения» в стиле android приложений — вполне себе решение.
                                                  +7
                                                  Вы можете статически слинковать или запихнуть нужные библиотеки в deb-пакет и сейчас.
                                                  Зачем для этого изобретать что-то новое?
                                                    +1
                                                    Можно. Вот тут материал не плохой по теме versusit.ru/staticheskaya-linkovka-vs-dinamicheskaya-linkovka
                                                      0
                                                      И будет у нас 20 кило кода программы и 30 мегабайт библиотек. И всё это в памяти во множестве экземпляров.
                                                        0
                                                        Я эту идею не поддерживаю. Просто даже если очень надо запихнуть все в один пакет — это можно сделать и в deb, зачем плодить новые сущности
                                                      +3
                                                      dependency hell

                                                      Сколько пользуюсь Linux, сталкивался только однажды при попытке поставить Audacity из Experimental в Squeeze. И то все спокойно разрешилось даже без консоли (спасибо Synaptic). Или мы говорим об облегчении работы мейнтейнера? Ему-то, может, и будет легче — только система превратится сами знаете во что…

                                                      Т.е. как в винде… за исключением может быть системных вещей вроде Java/.NET/vcredist

                                                      Вы не поверите, чего только не творят поставщики программ в венде — запихивают в установщик всевозможные Java/.NET, непонятно каких версий и без опции отказаться от установки.
                                                        0
                                                        Про маинтейнеров прежде всего. Хотя для пользователей тоже — я иногда сталкиваюсь с проблемами зависимостей.

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

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

                                                        В общем, я думаю — идея хорошая, но недоработанная.
                                                        +1
                                                        >за исключением может быть системных вещей вроде Java/.NET/vcredist

                                                        В винде между прочим, поставщик пакета часто отвечает в том числе и за установку Java/.NET/vcredist, если не хочет тратить время своей техподдержки на сотни однотипных вопросов «А почему у меня пишет что библиотека la-la-la.dll не найдена?».
                                                        +7
                                                        Ничего.
                                                        Пакеты будут весить много, программы будут потреблять больше ОЗУ(каждая будет тащить свои версии библиотек)
                                                        Подобные пакеты в PC-BSD
                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                      +4
                                                                      Ну, на Винде есть сотни программ-утилит, которые были написаны лет десять назад — всякие искалки файлов-дубликатов, редакторы ID3-тегов, расширения для меню Проводника и прочие калькуляторы менструаций. При развитии Линукса в качестве десктопной ОС, начнут появляться в больших количествах такие же вот программки, некоторые из которых в какой-то момент будут заброшены, но функциональной ценности от этого не потеряют. И вот их-то и будут в будущем пытаться запускать люди, а все зависимости уже обновились стопицот раз с тех пор — и что делать?
                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                          +4
                                                                          Ну, это слабый аргумент. А если нету? Или есть, но — хуже.
                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                              +1
                                                                              Конкретный пример под линуксом? Я сказал «будут появляться». К тому же, нынешняя модель распространения ПО под линуксом не дает возможности просто выложить приложение для всеобщего скачивания, нужно совершать массу телодвижений — или репозиторий делать, или deb/rpm, да еще и все это для разных дистрибутивов по отдельности — вся эта возня займет больше времени, чем написание самой утилиты типа конвертера единиц измерения, что, на мой взгляд, тормозит распространение линукса как десктопной системы.

                                                                              Может, я не знаю просто такого способа, сам я не пользуюсь линуксом как десктопной осью.
                                                                                0
                                                                                Я знаю людей, которым старый амарок нравился больше всяких клементин и прочих. Или например сейчас модно форкать (!) гном в принципе только, потому что старый так просто вместе с новым не поставить.
                                                                                Да сам clementine появился для этой цели.
                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                    +1
                                                                                    Гм, я один из тех отщепенцев, кому нравится новый гном, а вот старым амароком, кажется, я еще год пользовался после перехода убунту на новые кеды, и меня не беспокоило тогда тянуть пол системы ради любимого плеера (под гном все равно это делать приходилось). А скомпилировать почти никогда не легче чем поставить готовый пакет, новый гном, например, компилится далеко не один час. Мне не кажется что надо отказываться от старой системы с зависимостями, но я бы не отказался иметь к ней в дополнение возможность установить любую версию любой линуксовой программы желательно под любой дистрибутив и забыть о компиляции, тупо для установки маленькой програмки, а также тарболлах с фс и тарболлах с кастомными инталляторами, и шаманствами по подключению репозитория ради ерунды, через который мне еще и зависимости потом поломает. А еще мне кажется, что проблема с утаскиванием половины дистрибутива хоть и есть, но она переоценена, например если мне не жаль было ставить портал, который весит под 4 ГБ, мне было бы не жаль и весь старый гном утащить, ведь я в нем провожу все время работы с компьютером.
                                                                                    (Вообще мир поломан, я написал спокойный ответ, и теперь не пойму куда вставить смайлы, чтобы он не мог быть прочитан, как брызженье слюной с воями негодования :)
                                                                                      0
                                                                                      О, кстати, вспомнил прогу, которая мне очень нужна, но в убунтовской репе уже не первый год поломана, и я бы не отказался просто поставить ее в пакете, а не красноглазить, как ее починить по интернетам: sikuli-ide.
                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                          0
                                                                                          Вот, видите, сколько нишевых мучений для какой-нибудь редкой нишевой ерунды с текущей пакетной системой в убунте: то компилить надо, то тарболл руками раскладывать а то и дистриб менять.
                                                                                          И вроде каждая такая мелочь нужна 1.5 человекам, но практически у кажого пользователя найдется та или иная мелкая ерунда, которой он и еще те пол человека пользуются.
                                                                                            0
                                                                                            есть сомнения, что ради этих 1.5 человеков кто-то будет собирать, тестировать, поддерживать, разрешать лицензионные вопросы (если там есть не gpl, например) и т. п. бандл
                                                                              0
                                                                              Написать самому. Но этот вариант не подходит для массовой ОС.
                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                            0
                                                                            Да уж, подход для домохозяек прямо таки идеальный.
                                                                              +1
                                                                              Вот как в генту концепция слотов — можно устанавливать параллельно несколько версий одного пакета. Вот только не все ебилды поддерживают слоты. В других системах есть подобное тоже. Развили ли бы идею дальше, что бы не было конфликтующих версий.
                                                                              0
                                                                              Не знаю как в Linux, но, к примеру, в экосистеме Ruby проблема нескольких версий одного пакета решена очень простым для пользователя способом. Не вижу принципальных ограничений, почему не сделать так в менеджере пакетов для Linux.
                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                  +1
                                                                                  В описании каждого пакета указываются не только названия пакетов-зависимостей, но и их версии (или диапазоны версий, например, «1.x», «1.2 и выше», «не новее 2.34», «от 1.2 до 2.34»).

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

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

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

                                                                                  В Ruby эта схема работает очень просто, эффективно и даже кроссплатформенно.
                                                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                                                +1
                                                                                Отнюдь. Ничего не знаю про работу apt, но в Arch это разруливается без особых проблем (хотя могло бы быть и лучше, конечно, но без ужаса, планируемого Ubuntu)
                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                    +1
                                                                                    Нет, не привели. Как я уже отметил, мешать он может, только если конкретная реализация подобного реестра не очень хорошо спроектирована. А вот подход «всё своё ношу с собой» практически гарантирует мне 20 копий того же boost в системе.
                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                        +1
                                                                                        Я не пользуюсь Ubuntu и не знаю, как работает dpkg/apt. А вот в Arch Linux занимаюсь, в том числе, поддержкой некоторых пакетов и знаком с ситуацией не понаслышке. Т.к. это rolling-release дистрибутив, то ситуация, когда кому-то потребуется более старая версия софта \ библиотеки не редка, в Arch User Repository много таких пакетов. Самые обычные пакеты — собирают бинарники, устанавливают в систему, куда положено, имеют какую-то версию и т.п. Автор пакета берёт на себя все заботы по установке LD_PATH и иже с ним. Пользователь просто ставит его и пользуется двумя версиями одновременно, все довольны.

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

                                                                                        Вот поэтому я больше не могу пользоваться дистрибутивами без аналога AUR.
                                                                              0
                                                                              … я буду обновлять комментарии перед тем как отправить ответ…
                                                                                0
                                                                                Больше трафика, полагаю %sarcasm%
                                                                                  0
                                                                                  Я думаю зависимости будут, но от стандартного репозитория убунты, т.е. вида 3rd-party < — core. Зависмостей вида 3rd-party <-> 3rd-party и 3rd-party -> core не будет, и это правильно.
                                                                                  +4
                                                                                  Бубунта все больше и больше становится мастдаеподобной. Эдак через годик мое любимое «бубунта != линукс» будет уже на 100% правдой!
                                                                                    +4
                                                                                    А вы так говорите, как будто это что-то плохое. Зато можно будет пользоваться без красноглазия.
                                                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                                                        0
                                                                                        Пробовал, не понравилось, предпочитаю Федору и OS X
                                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                                            +1
                                                                                            Source-base дистрибутивы совсем не красноглазые (при условии, что у вас не пентиум 2 с 256мб оперативки). Это как научиться кататься на велосипеде.
                                                                                          +3
                                                                                          Тут такое дело. На бунте хорошо либо весьма опытным пользователям, которые при проблемах не погнушаются загуглить и самостоятельно всё починить, покопавшись с конфигами или командной строкой, либо совсем уж непритязательным пользователям (видимо именно их вы имели в виду, когда упоминали своих знакомых), которые пользуются операционкой «по рельсам», выполняя простые и давно отлаженные действия, вроде почты-интернета-редактирования документов, и которые (эти пользователи) просто принимают особенно интерфейса, поведения операционной системы и WM/DE как должное и уже подстраиваются под них.

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

                                                                                          Шаги, наподобие тех, кто обсуждаются в этом топике (т.е. переход на более надёжный формат пакетов) не помешают первой группе — они и так всегда во всём разберутся, не помешает и второй — для них всё будет по-прежнему работать «само». Но при этом облегчат жизнь «середнякам», для которых станет на одну проблемную область меньше.
                                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                                              +2
                                                                                              Не будет проблем с зависимостями. Это же очевидно.

                                                                                              Вы спросите, небось я прочитал в какой-то умной книжке о них, и дескать они уже давно не существуют, превратились в легенду (как драконы), а я, такой впечатлительный, навоображал себе невесть что, напугал сам себя и теперь отчаянно хочу бороться с ветряными мельницами; ну… то есть несуществующими драконами.

                                                                                              Увы, нет. Я лично неоднократно сталкивался с ними, причём время от установки чистой системы (это была как раз Ubuntu, различных версий в т.ч. стабильных, вроде 12.04) до встречи с первой портянкой поломанной зависимости стремилось к нескольким дням, что по моим оценкам есть очень, недопустимо мало.

                                                                                              Использовал ли я сторонние репы? Да, грешен. Можно было бы обойтись без них? Помилуйте, ибо и тут я согрешил, признаю: да, иногда можно было бы. Но я, как вполне среднестатистический юзер, установив новую систему, возжелал познать её возможности и нельзя меня за это судить. Я без капли стыдливости загуглил невинные слова вроде «best ubuntu 12.04 lences», узрел статьи, написанные на авторитетных заморский сайтах, и скрупулёзно следуя предложенным командам — ничего не добавляя от себя, честно! — вводил незамысловатые команды на добавление самых невинных на первый взгляд PPA репозиториев. Кто же знал, что они бесовскими отродиями окажутся и оказия знатная с системой от них приключитеся!

                                                                                              Буквально на пятом, ну может на десятом таком репозитории моя система контроля зависимостей приходила в полный беспорядок и уже не могла ничего не осмысленно производить. Вы обвините меня, дескать нафиг столько сторонних реп добавлять? А я отвечу: ну разве я повинен в том, что разные линзы разрабатываются разными авторами и каждый тяготеет к тому, чтобы обособиться в своей собственной уютной мини-репе?..

                                                                                              Узрев поломанную пакетную систему, я честно! не стал паниковаться и браниться, а поступил мудро: загуглил текст ошибки вновь. Хотя и это тоже было нетривиально, ведь что одна ошибка у меня — совсем другая у иного.
                                                                                              Самые простые лекарственные инструкции, вроде «почистить кеш пакетной системы», что в этом духе, из первых строчек гугла действия не возымели, судя по всему требовалось более глубокое хирургическое вмешательство и скрупулёзное удаление осколков неразорвавшихся, но застрявших в недрах системы пакетов. Да откуда ж простому крестьянину их русской глубинки такими навыками то обладать?

                                                                                              Хотелось бы иметь возможность откатить систему пакетов, допустим, на несколько установок назад. Ну или хотя бы на одну, хотя это требовало бы от меня запускать пачку тесто (правда пока неясно каких) после каждой новой установки софтины.
                                                                                              Но и такой возможности не обнаружил.

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

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

                                                                                              Ну уж нет. Пусть лучше ценой лишних отданных гигабайт под повторяющиеся либы на жестком диске, но я обрету беспроблемную установку софта, нежели буду по-прежнему иметь внезапные проблемы (поди ж угадай перед подключением очередной репы, поломает ли она тебе всё али нет), за которые никто не отвечает, только из-за фанатичного желания группы высокопоставленных в дистре людей придерживаться расово верного по их мнению, подхода к установке софта, который они же сами и нарекли единственным, непреклонным и обязательным для всех.
                                                                                              • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                  0
                                                                                                  Откат системы можно делать: снапшоты lvm, снапшоты btrfs, rshapshot, tar, dd, да что угодно
                                                                                                    0
                                                                                                    Это из пушки по воробьям. В идеале хотелось бы уметь откатывать только пакетную систему, чтобы всё остальное: логи и пр. оставалось бы нетронутым.
                                                                                                      0
                                                                                                      Я вот сейчас заглянул в /var/backups
                                                                                                      Там есть бэкапы файлов пакетной системы, я ничего специально для этого не делал
                                                                                                      0
                                                                                                      В федоре вроде атомарные операции в пакетном менеджере?
                                                                                                      +2
                                                                                                      Вы начали ставить левый софт Вы так говорите, будто это что-то плохое.

                                                                                                      Я ставлю «левый софт» на Windows без проблем, по крайней мере это не ломает мне всю систему установки софта. Хотелось бы иметь возможность совершать эту нехитрую операцию и на лине. И если для этого нужно отказаться от преимуществ установки софта с зависимостями — я готов на это пойти.
                                                                                                        0
                                                                                                        В винде на сколько я знаю есть интересный момент — если в памяти уже есть загруженная допустим CoolLib.dll, версии 1.1, а потом запускается приложение, которое содержит рядом с собой, в той же папке, AnotherLib.dll и CoolLib.dll но уже версии 1.2 при этом AnotherLib зависит от CoolLib, то новая версия в память подгружаться уже не станет. И если у вас сейчас нету проблем с левым софтом, то это ещё не значит что эти проблемы не могут появиться.
                                                                                                        В случае же линукса и убунты в частности, тащить вместе с одним пакетом набор уже устаревших библиотек никто не собирается, а если вдруг старые версии прог не могут запуститься с новыми версиями библиотек в связи с тем что изменен набор функций в библиотеке, то как уже писалось выше в комментариях, автор библиотеки мудак, что не изменил ещё и версию в .so файле
                                                                                                      0
                                                                                                      Три года на одной и той же убунте 10.04 lts
                                                                                                      Подключаю постоянно сторонние ppa, но таких проблем не было.
                                                                                                      Были какие-то единичные баги, но не так много.

                                                                                                      думаю Вам попался какой-то один ну очень неудачный репозиторий/пакет.
                                                                                                +2
                                                                                                Объясните мне, какое красноглазие требуется в современных дистрах? Я знаком только с одним — когда какой-нибудь драйвер встал криво (привет Intel! а до него Ati). Что ещё там красноглазить я просто не представляю.
                                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                  +4
                                                                                                  > можно будет пользоваться без красноглазия

                                                                                                  Как раз таки наоборот: одно красноглазие и будет при желании кастомизации. А нетребовательным, которые любое говно жрут — да, просто.
                                                                                                    0
                                                                                                    Так его же не насильно пихают, здесь принцип — «Хочешь — пользуйся, а хочешь — нет». DEB-пакеты никто убирать не собирается.
                                                                                                      +1
                                                                                                      Это пока не насильно. А потом будет, как с дерьмищем вроде PA или systemd.
                                                                                                        0
                                                                                                        А куда бежать-то? На BSD?
                                                                                                          0
                                                                                                          На LSD. Лицензия та же.
                                                                                                +14
                                                                                                Ура, еще один формат пакетов, это же так прекрасно, когда софт можно паковать в разные варианты пакетов для разных версий одного дистрибутива, да еще и все зависимости можно пихнуть сразу… Предлагаю сразу пихать загрузчик и ядро, чтобы не мелочится.
                                                                                                • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                    0
                                                                                                    Теперь банановый;)
                                                                                                      0
                                                                                                      Если Вы знакомы с дебиан пакетами — то Вы, должно быть, уже знаете, что:
                                                                                                      >можно паковать в разные варианты пакетов
                                                                                                      уже давно поддерживается, например Вы можете сделать пакет с CDBS а можете с дебхелперами да еще разных их версий.
                                                                                                      +5
                                                                                                      Отличный план, давайте откажемся от одной из лучших особенностей Linux-дистрибутивов и сделаем столь же убого, как в Win и Mac. Лучше бы договорились об ощем стандарте на формат пакетов между дистрибутивами, если силушку девать некуда.
                                                                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                          0
                                                                                                          Пакетный менеджер сам по себе никак не связан с распределением файлов по системе. Он просто знает о том, какие файлы принадлежат какому пакету и какие взаимоотношения между разными пакетами. То, что приложения потрошат по всей системе — это историческое наследие выраженное в en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

                                                                                                          Если господа из Ubuntu хотели совершить революцию, могли просто отказаться от FHS, сохранив нормальный пакетный менеджер с контролем зависимостей. В том же Arch я хоть сейчас могу наклепать PKGBUILD, который будет хранить все конфиги и приватные данные приложения в каком-нибудь /applications/, а бинарники устанавливать в /usr/bin и /usr/lib/
                                                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                              +1
                                                                                                              Они отказываются не только от FHS (не жалко), но и от контроля зависимостей\версий для приложений. А это и есть самая суть.
                                                                                                        +1
                                                                                                        Все обсуждают так, будто убунту собираются переводить на этот менеджер пакетов. Ребята, это просто ещё одна фича. Вас же не парит наличие во всяких Ruby/PHP собственных менеджеров пакетов? Просто будет ещё один, ориентированный на мобильные (реже оконные) приложения.
                                                                                                        Тут проблемой будет скорее дыра в безопасности — если юзер может скачать с левого сайта и установить пакет, то он будет это делать. И таким образом начнёт расползаться вирусня и трояны. И хотя если ставить не под рут, основная система не пострадает, но вот юзер спейс загадить/потерять данные из кеша браузера — запросто.
                                                                                                          +4
                                                                                                          «Вас же не парит наличие во всяких Ruby/PHP собственных менеджеров пакетов?»
                                                                                                          Ещё как парит. Установить какую-нибудь систему, написанную на Ruby (привет, redmine), не вдаваясь в детали, что такое есть этот самый Ruby — та ещё головная боль.
                                                                                                            0
                                                                                                            apt-get install redmine
                                                                                                              0
                                                                                                              имелось в виду версию поновее чем в репозитории ;)
                                                                                                            0
                                                                                                            Юзерспейс уже давно вкуснее системы для вирей — там и пароли, и ключи, и данные разные, и контакты, а то и вовсе номера карточек кредитных… А что ядро… очередной ботнет?
                                                                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                                                                              0
                                                                                                              Новое всегда будет встречать сопротивление, даже если оно лучше прежнего. Установка приложения в считанные секунды это хорошо. Раздутая убунта это плохо (хотя винты сейчас очень большие, интернет быстрый). Нужен ещё не тормознутый установщик, не такой как «Центр приложений Ubuntu». Посмотрим, что из этого получится. Я всегда за эксперименты, хотя не всегда пользуюсь новым, к примеру, так и не подружился с Unity, в итоге работаю в XFCE.
                                                                                                                0
                                                                                                                Ну не пользуйтесь центром приложений. Есть synaptic, есть gdebi, есть aptitude
                                                                                                                  +1
                                                                                                                  Я и не пользуюсь, пока он загрузится, за это время уже установишь программу через apt-get.
                                                                                                                0
                                                                                                                Поживем — увидим, но некоторые опасения возникают. Допустим у каждой программы свои библиотеки в своем каталоге. Это даже хорошо в некоторых случаях. Но вот в одной из либ (которая уже в 10 экземплярах на винте), находят критическую уязвимость, разрабы либы выпускают патч, он быстро попадает в репы, но apt обновит только одну версию — системную. Может при этом некоторые программы перестанут работать или даже порвутся зависимости, но система будет безопасной. А что тут предлагается? Довериться разработчикам пакета, что они будут следить за обновлениями своих зависмостей и пересобирать пакеты, а потом пинать пользователей, чтобы они обновились?
                                                                                                                  0
                                                                                                                  >Может при этом некоторые программы перестанут работать
                                                                                                                  Библиотеки, особенно security-fix`ы обратно-совместимы
                                                                                                                  Иначе она не попадет в репозаторий(только с мажорным обновлением дистрибутива)
                                                                                                                    –1
                                                                                                                    Обратная совместимость понятие условное в случае фиксов. Раз что-то пофиксили, значит функциональность изменилась. А разработчик пакета до этого использовал то, что пофиксили, решив, что это не баг, а фича.
                                                                                                                      +2
                                                                                                                      Например, переполнение буфера какое-нибудь он использовал?
                                                                                                                      API не меняется
                                                                                                                        0
                                                                                                                        Хотя бы. Подобрал параметры, обеспечивающие нужное поведение.

                                                                                                                        API (сигнатуры) не меняются, но меняется поведение. Скажем, часть действий либа делала не от того пользователя, а разработчик пакета счел это нормальным поведением и вовсю использовал.
                                                                                                                          +1
                                                                                                                          Ну разработчик сам идиот если использует хаки, и незакрытые дыры. Очень даже хорошо, что такая кривая программа перестанет работать.
                                                                                                                  –3
                                                                                                                  Всё уже реализовано в MacOS X. Если сделают как там, или хотя бы близко, то это будет шикарно!
                                                                                                                  В любом случае пока ещё ничего не готово и вопить «Мы все умрём!» пока рано.
                                                                                                                    +1
                                                                                                                    Если сделают что-то похожее на такой ужасный пипец как макось, то будет очень грустно, но скорее всего этот формат загнется, как загнулись куча других подобных начинаний
                                                                                                                      –3
                                                                                                                      А ты знаком с тем, про что говоришь? Ты реально знаешь, как устроена установка ПО в макоси, или это пустой трёп хомячка?
                                                                                                                        +1
                                                                                                                        Конечно знаком — там по сути три варианта — стандартный — придуманный «дизайнерами», виндовый — на больших софтинах — по сути мастер, мало чем отличающийся от виндового, и относительно нормальный — mac ports спертый с фряхи — это хоть что-то, но я так понимаю что восхваляешь тут стандартный.

                                                                                                                        «Перетаскивание программы в папку» Он создан специально для полного идиота с отсутствием способностей к обучению (целевая аудитория? :) У него есть только одно преимущество — когда нужно поставить только одну программу один раз, и при этом человек ни знает ничего.

                                                                                                                        Как вообще отслеживаются обновления? Руками как в винде?
                                                                                                                        Как можно быстро поставить кучу своих программ на новый комп (например — пришел на работу, дали мак — сколько уйдет на установку всего необходимого набора софта)
                                                                                                                        Даже в винде подавляющая часть инсталяторов имеет автоматизацию, чтобы можно было запустить из скрипта, чем например тонны виндовых сборок пользуются.
                                                                                                                        Как на маке решить стандартную задачу развертывания группы рабочих мест (например школьного/институтского класса) бегать как сайгак по всем машинам? Стандартное решение на винде для школьных теток, но они то по незнанию, а тут?

                                                                                                                        А вот такая установка напоминает ситуацию в начале 2000-х, когда у тебя слетела винда, ты ее восстанавливаешь, а потом идешь на диск D в папочку archiv|installers и методично ставишь все нужные программки.

                                                                                                                        По-моему понатыкать в менеджере пакетов и пусть в фоне качает и ставит попроще будет :)

                                                                                                                        Как говорится — создай систему, которой сможет пользоваться любой дурак и только дурак захочет ей пользоваться
                                                                                                                          –1
                                                                                                                          С виду всё хорошо, особенно для людей, которые не совсем в курсе. Да вот не всё хорошо… Ты как специально написал всё в чисто отрицательном ключе, не показав положительных сторон. А это уже не этично и показывает тебя не с самой лучшей стороны.

                                                                                                                          Придётся рассказать об этом самому, но для начала скажу пару слов про свой опыт. В 2001-ом году я ушёл с винды в линукс всех мастей и расцветок. пробовал и rpm-дистры, и deb, руками собирал LFS и лет пять на домашней машине у меня была Gentoo (она до сих пор там, кстати, должна быть). До недавнего времени у моей жены была убунта. На серверах использую только дебиан. Так же имел очень тесный опыт с SunOS 4.1.4 (поддерживал магнито-резонансные томографы). Мерится пиписьками ни с кем не хочу, так как я, в общем-то, не админ, а программист и сам знаю не мало людей с куда большим опытом.
                                                                                                                          MacOS X я плотно использую пять лет. Работаю с ней каждый день и эти строки пишу с макбуука.
                                                                                                                          Это я к тому, что в *nix я давно и всё сказанное мной основанно на реальном опыте использования, а не на «пять минут держал в руках» или «читал на хабре».

                                                                                                                          Первым и стандартным способом установки ПО является App Store. Фактически, это менеджер приложений, который умеет делать всё необходимое. Большая часть ПО ставится через него и через него же обновляется. Всё удобно и централизованно. Ничего не напоминает? :-)
                                                                                                                          Разница только в формате — каждое приложение лежит на своём месте. Что бы удалить его, достаточно перенести его в корзину и это удобно, логично и в реальном использовании проблем не создаёт.

                                                                                                                          Чего нет в App Store, как, например, моих любимых SublimeText или Adium, ставится руками. Для этого есть понятная любому человеку последовательность действий: скачал образ (читай: архив) два раза по нему кликнул, перетащил мышкой приложение в папку с приложениями. Реально удобно. Можете мне не верить, но я не вижу никакого смысла делать этот процесс сложнее.
                                                                                                                          Обновляются такие приложения, как не странно, тоже нормально, так как apple позаботились о своих разработчиках и придумали единный стандарт для обновления сторонних приложений. Если коротко, то приложение само делает запрос на сервер о наличии новых версий и, если надо, предлагает пользователю обновиться. Никакой магии с подключением левых репозиториев тут нет и не надо.
                                                                                                                          Нужно удалить? — в корзину.

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

                                                                                                                          Третий способ самый неприятный, потому что он превращает ОСь в слаку. Реально. Но и он не лишён своей элегантности, так как пакеты ставятся стандартным способом, с помощью чисто декларативного установщика. При этом оно достаточно безопасно, так как на запуск скриптов, написанных разработчиком пакета, всегда запрашивается разрешение.
                                                                                                                          Удалить такой пакет можно только руками или, если повезёт, скриптом идущим с установщиком. Именно это является слабым местом в системе установки стороннего ПО в маке. Но такого софта, на самом деле, очень не много. У меня, как мне кажется, только Parallels Desktop так стоит…

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

                                                                                                                          Что касается MacPorts и прочих Brew, то я когда-то пробовал эти поделки, но сейчас не вижу в них никакой нужды.
                                                                                                                          Добавлю, что кроме этого, есть ещё easy_install для питоньих либ. Но он нужен только для того, что бы поставить pip и pythonbrew. Но это уже лично моя необходимость, как разработчика.

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

                                                                                                                          P.S. Про папку с программками, это просто дикий, феерический бред, после которого писать ответ пропадает желание. Фактически, этой фразой ты перечеркнул всё то здравное, что написал выше, так как это показало твоё полное незнание того, о чём ты говоришь. Скажем так: у меня такого нет и видел я такое только в винде. В общем, наговаривать лишнего не надо, так как это не достойно умного человека.
                                                                                                                            +1
                                                                                                                            Ну вот собственно второй способ я активно и ругал, и выше я объяснил — этот способ просто небольшое улучшение виндового — он не спрашивает — но блин качать каждую софтину отдельно и ставить ее перетаскиванием — да, круто.

                                                                                                                            > App Store
                                                                                                                            — да, каюсь — я забыл про аппстор, наверное потому что он все-таки больше под iгадости — эппл наконец придумало новою технологию распространения ПО — через репозитории, как и восьмая винда, они это тоже новой назвали. Ну что-же за 16 лет дошло, что надо спереть, до винды дошло за 20 :)
                                                                                                                            Фактически этот ваш апстор — довольно кривой порт репозиториев и как всегда все что сумели сделать — это только красивый дизайн, дизайн для таких как вы передрали в software center (тормозной он, хотя есть для пользователей удобство).
                                                                                                                            Репозитории создают единый интерфейс для любых программ, а не только для программ из основного репозитория / appstore. Сложность попадания программы в appstore для разработчика и в основной репозиторий достаточно большие, однако скажем так поднять свой маленький апстор нельзя :)

                                                                                                                            Дальше — нигде кроме нормальных никс систем нету понятия зависимостей, и это очень плохо. Сколько у вас в этих ваших пакетов копий одной часто используемой библиотеки — тут не в месте дело, место это ерунда, дело в том что версии должны обновлять производители — каждый, и дырок в ваших прогах будет море из-за таких вот необновленных библиотек.
                                                                                                                            Я не пойму почему на них столько нападок? Ну если уж есть какие мелкие проблемы, то они обычно решаются за пару минут, у меня только при обновлении дебиана на убунту возникли небольшие проблемы, которые я разруливал дольше 5 минут — но там была перелопачена вся базовая система — и это все с одним ребутом после всего.
                                                                                                                            Может зависимости используют в никсах именно потому что там есть такие мощные вещи как apt, которые позволяют работать с этими зависимостями абсолютно без проблем, а в виндах и маках решатель зависимостей у нас перед монитором сидит, поэтому в маках их и нету — все свое ношу с собой.

                                                                                                                            > Что касается MacPorts и прочих Brew, то я когда-то пробовал эти поделки, но сейчас не вижу в них никакой нужды.
                                                                                                                            Согласен что это поделки, порт с фряхи, а во фряхе порты это ужас, но что делать, после аппстора это все-таки неплохой способ.

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

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

                                                                                                                            > Ещё добавлю, что у меня не так часто появляются новые маки, что бы мне было жалко потратить час времени на установку всего необходимого софта руками.
                                                                                                                            ЧТД — что, тоже любите руками все ставить? Это плохая виндовая привычка :)

                                                                                                                            > А да, поставить всё необходимое можно на одной машине, а потом, с помощью элементарного визарда скопировать на сколько угодно машин. Но я, если честно, этим никогда не пользовался. Как-то не требовалось…
                                                                                                                            Надо-же, хорошо хоть не образ системы :) И даже программы не из аппстора?

                                                                                                                            dpkg --get-selections '*' > selection.txt
                                                                                                                            dpkg --set-selections < selection.txt
                                                                                                                            aptitude install
                                                                                                                            apt-get -u dselect-upgrade

                                                                                                                            Оно? На кой черт там визард то? Хотя тут вроде как проще apt-get install — я тоже не пользовался, списком проще. Про поставить по ssh молчу.

                                                                                                                            А про папку с программами не бред — где вы простите храните «SublimeText или Adium»? Понятное дело что сейчас скачиваете их с инета на новую систему, только я писал про винду и лет 5-7 назад, тогда простите весь архив хранился на винте, потому что по дайлапу не покачаешь, а сейчас просто у вас архив сократился да с инета каждый раз тяните ручками.
                                                                                                                              –1
                                                                                                                              > Фактически этот ваш апстор — довольно кривой порт репозиториев
                                                                                                                              Я снова не вижу аргументации. Может лучше вообще не отвечать?
                                                                                                                              Свой аппстор не нужен и тому есть пример убунты — с левыми репозиториями часто есть проблемы, а проблемы мне не нужны. Когда, например, левый репозиторий просто пропадает (хостинг не оплачен?) из сети, происходят просто феерические глюки!

                                                                                                                              Без App Store я ставлю штуки три программы. Это не является проблемой.
                                                                                                                              А вот в убунте установка софта, отсутствующего в репозитории, является проблемой. Об обновлении этих приложений вообще можно забыть (ещё раз: без репозитория — чистый deb (если он вообще есть)).

                                                                                                                              Копии пакетов не являются проблемой. Я говорю это, аппелируя к своему многолетнему опыту использования этой системы.
                                                                                                                              А вот отсутствие библиотек нужных версий для стороннего софта в линухе, для меня не раз было реальной сложностью. И я лично тратил на разруливание некоторых косяков далеко не пять минут.
                                                                                                                              Но опять же, речь идёт только о пользовательском софте (с окошечками, свистелочками и перделочками). Для библиотек и консольного софта в убунте останется apt и это будет очень красивым решением, которого, в какой-то мере, не хватает в макоси (проблема третьего способа).

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

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

                                                                                                                              > Оно? На кой черт там визард то?
                                                                                                                              Это не та задача, с которой я сталкивался в макоси. Я согласен, что по ssh поставить конечно удобнее. Не удивлюсь, если и в макоси есть соответствующее решение, но мне оно просто не нужно.
                                                                                                                              И снова, это работает только тогда, когда весь софт есть в репе. Визард в макоси перенесёт и установненные «вторым способом» приложения.

                                                                                                                              > А про папку с программами не бред
                                                                                                                              Это бред. Сегодня я качаю из сети, ставлю и удаляю. Предлагаю отталкиваться от современной ситуации, а не вспоминать времена без интернета. Тем более, что без сети система с репозиториями объективно уж очень сильно проигрывает (знаю по собствененному опыту).
                                                                                                                                0
                                                                                                                                >> Фактически этот ваш апстор — довольно кривой порт репозиториев
                                                                                                                                > Я снова не вижу аргументации. Может лучше вообще не отвечать?
                                                                                                                                Может нужно читать что отвечают? Аппстор не создает единый интерфейс для всех — подними на своем хостинге свой маленький аппстор.

                                                                                                                                Когда сторонние репозитории пропадают — единственный «глюк» — сервер недоступен при обновлении списков.
                                                                                                                                С появлением ppa софта без реп стало исчезающе мало, и если уж припрет, то деб пакеты можно кинуть в локальный репозиторий (соответственно ваша надуманная проблема установки по ssh отсутствующих в репозитории вещей уходит)

                                                                                                                                > Проблемы начинаются тогда, когда нужного софта в репозитории нет.
                                                                                                                                Они кидаются в локальный репозиторий, или в свой, на стороннем сервере. И собрать пакет — если уж вообще совсем совсем припрет — дело очень легкое. Если на то уж пошло — не из репозиториев ставится пару программ, например у меня на работе это только phpstorm, потому что им типа лень репу организовать.

                                                                                                                                Ставить и обновлять руками это все равно проблема с которой не справляется система управления софта, а если кто-то каждый год переставляет систему, то это их проблемы.

                                                                                                                                Аппстор нерасширяем (потому что вендорлок) и там нет зависимостей, а так да — доросли до жалкого подобия репозиториев.

                                                                                                                                А про папку с программами не бред
                                                                                                                                Еще раз — не бред, как раз подтвердили, каждый раз качаете (еще вопрос что лучше — бегать по одной папочки или по десятку разных сайтов)
                                                                                                                                > Тем более, что без сети система с репозиториями объективно уж очень сильно проигрывает (знаю по собствененному опыту).
                                                                                                                                Ничего она не проигрывает — притащил на винте репу и все, и apt-offline вполне себе рулит, по собственному опыту знаю — 128кб/с на всех это не интернет, поэтому тупо убунтовская репа была притащена на сервак на винте.

                                                                                                                                  –1
                                                                                                                                  > подними на своем хостинге свой маленький аппстор
                                                                                                                                  Левые репозитории, это реальная дыра в безопасности. Могу обосновать, если надо.

                                                                                                                                  > единственный «глюк» — сервер недоступен при обновлении списков
                                                                                                                                  К сожалению нет. Софт в этом репозитории ссылается на библиотеки из основного репа. Обновление этих библиотек может повлечь за собой неработоспособность этого левого софта.
                                                                                                                                  Я лично сталкивался с этим и даже не раз. Последнее, что запомнилось, это nginx с необходимыми мне модулями, лежащий на странном репе. Реп отвалился и где-то через месяц обновилось что-то в основной системе (не помню уже что именно, не до копания мне было) и nginx просто начал падать в Segmentation Fault. Было очень неприятно.

                                                                                                                                  > Они кидаются в локальный репозиторий…
                                                                                                                                  Я не хочу заниматься сборкой и настойкой репа. Я хочу кататься на мотоцикле, пить пиво и заниматься сексом с женщиной, а не с сервером.

                                                                                                                                  > Ставить и обновлять руками…
                                                                                                                                  Ставить руками, я написал как. Это действительно просто и у меня жена правилась с этим с первой попытки.
                                                                                                                                  Обновляется всё автоматом, надо только нажать «Ok». При этом, разработчику не нужно об этом думать, так как есть стандартный способ реализации этого.

                                                                                                                                  > Аппстор нерасширяем…
                                                                                                                                  А зачем? Нет, реально, зачем оно надо? Где в этом профит для меня, как пользователя?

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

                                                                                                                                  Пусть верующие и дальше веруют в свой линукс, а я буду кататься на мотоцикле, пить пиво и всё такое!
                                                                                                                                    0
                                                                                                                                    А зачем? Нет, реально, зачем оно надо? Где в этом профит для меня, как пользователя?

                                                                                                                                    Ставить и обновлять софт, не прошедший внутренний контроль Apple, единообразно с прошедшим.
                                                                                                                                      0
                                                                                                                                      Зачем это надо, если обновление софта, отсутствующего в сторе не доставляет никаких сложностей ни пользователю, ни разработчику? При этом всё происходит настолько круто, что обновление, в большенстве случаев, не требует прав руута.
                                                                                                                            0
                                                                                                                            А да, поставить всё необходимое можно на одной машине, а потом, с помощью элементарного визарда скопировать на сколько угодно машин. Но я, если честно, этим никогда не пользовался. Как-то не требовалось…

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

                                                                                                                    Самое читаемое