Я не знаю насчет шариков смолы. Большинство пакетов доступны в формах tar ball, но пакеты Ubuntu являются пакетами Debian.
В чем разница между пакетами deb и tar-шарами?
Каковы преимущества / недостатки каждого?
источник
Я не знаю насчет шариков смолы. Большинство пакетов доступны в формах tar ball, но пакеты Ubuntu являются пакетами Debian.
В чем разница между пакетами deb и tar-шарами?
Каковы преимущества / недостатки каждого?
Тар шарики, как правило, исходный код, который вы должны скомпилировать. Дебы - это предварительно скомпилированные программы, уже собранные и настроенные для Ubuntu / Debian.
Я настоятельно рекомендую использовать дабы, когда они доступны, так как они проще и интегрируются с менеджером пакетов, так что вы можете легко удалить их.
Debs также установит все необходимые зависимости. Установка из исходного кода может привести к тому, что ласково называют «адом зависимостей». Большинство программ с открытым исходным кодом зависят от нескольких других программ / библиотек. При установке из исходного кода он не будет устанавливать их, а вместо этого будет (надеюсь) жаловаться на то, что зависимость не встречается. Затем вы пытаетесь установить эту зависимость, а затем она взрывается, требуя другую зависимость и т. Д. И т. Д.
Установка из исходного кода также может привести к тому, что ваши файлы окажутся в неожиданных местах, так как разные дистрибутивы немного различаются.
Когда мне нужно установить программу, я пробую свои параметры в следующем порядке:
Посмотрите в Центре программного обеспечения. Это, очевидно, самое простое, хотя Центр программного обеспечения не является всеобъемлющим и не соответствует последним версиям.
Попробуйте найти репозиторий, который его предоставляет. Добавление репозитория приведет к тому, что программа появится в Центре программного обеспечения, получит своевременные обновления и т. Д.
Ищите пакет .deb.
Установить из источника (tar ball).
тарные шарики - это просто еще одна форма сжатия, например, zip. Хотя форматы и методы сжатия различаются, в основном это контейнер для группы файлов и папок.
Обычно исходный код и необходимые ему файлы будут доступны в интернете человеком / группой, написавшим программное обеспечение в виде tar-шара. Таким образом, вы можете скачать его, распаковать, скомпилировать и установить программное обеспечение.
Однако то, что делают пакеты deb, - это упрощает процесс установки, поддерживая стандарт. Программное обеспечение, доступное в Интернете, будет взято сопровождающими пакетов Debian, преобразовано в соответствующие пакеты .deb и помещено в репозиторий Debian.
Вы можете прочитать об этом в блоге сопровождающего пакета Debian здесь: http://www.j4v4m4n.in/2012/05/01/debian-utsavam-at-mes-kuttippuram-kerala-2/
Что касается преимуществ и недостатков, то пакетами .deb управляют такие менеджеры пакетов, как apt и aptitude. Поэтому, когда вы устанавливаете программное обеспечение вместе с ним, они автоматически выяснят, есть ли у вас зависимости, необходимые для запуска этого программного обеспечения в вашей системе, и установят их для вас.
Но если вы используете tar ball, установите его, вам придется выяснить, от чего зависит это программное обеспечение, и каждый раз вам придется вручную проверять, были ли ранее установлены зависимости программного обеспечения, которое вы устанавливаете.
Но apt сделает все это за вас.
Кроме того, установка из исходного кода (установка из tar-шариков) будет иметь разные методы для разных программ. Существует философия GNU, касающаяся установки configure-make-make, и существуют другие методы, в зависимости от того, как написано программное обеспечение.
Однако преобразование их в deb полностью устраняет все эти различия и облегчает пользователю установку и использование программного обеспечения.
Еще один момент. Когда вам нужно установить из источника? То есть из смоляного шарика? Есть в основном две ситуации.
Если вы хотите узнать больше об упаковке Debian, вы можете прочитать ее здесь: http://www.debian.org/doc/manuals/maint-guide/
Надеюсь это поможет.
Пакеты Debian (и, следовательно, Ubuntu) представляют собой набор двоичных файлов и соответствующие инструкции по их установке. Это означает, что сам пакет знает, как и где устанавливать, а также знает список пакетов, от которых он зависит.
Исходные архивы (файлы с расширением .tar.gz
или .tar.bz2
- или даже .tgz или .tbz2 ) - это просто наборы файлов и каталогов, которые были упакованы вместе с tar
утилитой и также сжаты либо либо, gzip
либо bzip2
. Для создания исходного кода вам необходимо:
tar xvfz file.tar.gz
или tar xvfj file.tar.bz2
(в пустой директории)./configure
(пакет тестирует систему, чтобы увидеть, все ли в порядке перед началом компиляции)make
make install
для установки приложения в его расположение по умолчанию (обычно в / usr / {s} bin или / usr / local / {s} bin, но это зависит от приложения и дистрибутива)Основные преимущества пакетов Debian / Ubuntu по отношению к архивам исходного кода заключаются в том, что пакеты являются «автономными», а их двоичные файлы отслеживаются. Это означает, что процесс распаковки прозрачен для пользователя, который просто видит (примерно) один пакет на приложение. Пользователю даже не нужно помнить, какие файлы установлены и где установлено данное приложение, поэтому установка / удаление приложений становится (в основном) процессом одной инструкции.
Основные преимущества исходных архивов по отношению к двоичным пакетам заключаются в том, что в первом случае исходный код компилируется непосредственно на целевой машине и затем может быть соответствующим образом оптимизирован. Более того, в некоторых случаях даже самая лучшая система пакетов может сломаться (например, пакеты программного обеспечения слишком новые или слишком старые), и обычно официальные пакеты очищаются серверами, когда они становятся слишком старыми. В этих случаях нужно вручную искать в Интернете нужное приложение и определенные библиотеки в определенных версиях, чтобы удовлетворить все его зависимости.
Я вижу некоторые довольно хорошие ответы уже опубликованы. Но есть несколько вещей, которые необходимо решить.
Вопреки тому, что известно как «ад зависимостей», когда дело доходит до компиляции из исходного кода, вы можете на самом деле настроить Ubuntu таким образом, чтобы он автоматически устанавливал эти зависимости при компиляции из tarball / любого источника.
Прочтите, как это сделать, здесь:
http://www.howtogeek.com/106526/how-to-resolve-dependencies-while-compiling-software-on-ubuntu/
Кроме того, если вы оставите проблему с зависимостями в стороне, хорошая вещь в tarballs заключается в том, что вы можете очень легко настроить множество вещей, связанных с установкой, например, место установки и т. Д., В случае установки из исходного кода.
Также слово «пакеты Debian» может сбить вас с толку в этом контексте. Помните, что пакеты Debian бывают двух типов, как здесь сказано:
http://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html
Конечно, если вы говорите только о файлах deb, то они, как правило, представляют собой скомпилированное программное обеспечение, как уже говорилось выше.
источник