В чем разница между созданием файлов .deb и их установкой и просто запуском файла .run ?
В чем разница между созданием файлов .deb и их установкой и просто запуском файла .run ?
Ответы:
.deb
файлы - это пакеты для dpkg , низкоуровневого менеджера пакетов Debian (который вызывается изнутри APT и его родственниками). .deb
Файл представляет собой пакет для Debian или производным , таких как Ubuntu или Mint.
Пакеты Debian содержат файлы, которые принадлежат пакету, а также «контрольный файл», который описывает зависимости пакета и другую метаинформацию, а также сценарии установки, которые выполняются при установке, обновлении или удалении пакета.
Вы можете посмотреть содержимое .deb
файла с помощью dpkg -c
и dpkg -I
. Если у вас его нет dpkg
, вы можете использовать его ar t foo.deb
для составления списка частей .deb
файла и ar x foo.deb control.tar.gz
для извлечения control.tar.gz
части (и аналогично для других частей).
Red Hat (и его родственники, такие как CentOS и Fedora), SuSE и другие используют rpm , другой формат со схожими характеристиками. Есть другие в других системах Unix.
.run
не является стандартным расширением. .run
Файл предположительно то , что вы можете выполнить. Он может установить программу или сделать что-то совершенно другое.
В общем случае файл .deb похож на zip-файл, который содержит файлы вместе с короткими сценариями, которые могут запускаться после установки для добавления пользователей, групп и т. Д. В систему после установки.
Файл .run обычно представляет собой либо один двоичный исполняемый файл, либо сценарий оболочки, который содержит двоичный двоичный объект, который можно установить. Если это разновидность сценария оболочки, он часто будет содержать двоичный двоичный объект, который часто является синонимом рекурсивного zip-файла или tar-файла. Другими словами, он будет содержать структуру каталогов файлов.
В других случаях этот тип файла .run будет просто содержать файлы .deb или .rpm, которые будут выгружены на диск и могут быть установлены по отдельности, либо содержащий их сценарий сбросит их на диск, а затем попытается установить их с помощью программного обеспечения менеджера пакетов вашей системы.
Примером этого может быть загрузка Java JDK из Oracle. Это , как правило , один исполняемый файл , который при выполнении будет сбрасывать .deb или .rpm файлы на диск, а затем установить их the package management tools: dpkg
, apt
, yum
или rpm
.
Вот пример того, как будет выглядеть загрузка / установка с одним из этих файлов .run. Расширение .bin, но это просто косметическое расширение не имеет никакого отношения, кроме как помочь пользователям различать файлы разных типов.
$ wget http://www.java.net/download/jdk7/archive/b125/binaries/jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin
$ ./jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin
Здесь приведенный выше файл будет выгружать пакеты для различных компонентов, составляющих JDK, после чего вы можете установить либо все, либо только те, которые вам нужны.
Сделайте это таким образом, чтобы сделать дополнительные действия, помимо установки пакета. Например, у Oracle есть лицензионное соглашение, которое они хотят, чтобы вы приняли:
10.5 Настоящее Соглашение является полным соглашением сторон относительно его предмета. Он заменяет все предыдущие или одновременные устные или письменные сообщения, предложения, условия, заверения и гарантии и имеет преимущественную силу по сравнению с любыми противоречивыми или дополнительными условиями любой цитаты, приказа, подтверждения или другого сообщения между сторонами, касающимися его предмета, включая любые Лицензии на дополнительные коды, Дополнительные условия или другие лицензии, содержащиеся в Лицензионном программном обеспечении. Никакие изменения к настоящему Соглашению не будут иметь обязательной силы, кроме как в письменной форме и подписаны уполномоченным представителем каждой из сторон.
Согласны ли вы с вышеуказанными условиями лицензии? [да или нет]
С помощью вышеприведенного установщика вы можете видеть, что он содержит только двоичный набор каталогов файлов:
Extracting...
UnZipSFX 5.52 of 28 February 2005, by Info-ZIP (http://www.info-zip.org).
creating: jdk1.7.0/
creating: jdk1.7.0/lib/
inflating: jdk1.7.0/lib/jexec
creating: jdk1.7.0/lib/visualvm/
creating: jdk1.7.0/lib/visualvm/visualvm/
creating: jdk1.7.0/lib/visualvm/visualvm/modules/
inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-attach.jar
inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-host-views.jar
creating: jdk1.7.0/lib/visualvm/visualvm/modules/locale/
...
В этом случае этот тип установки предназначен не для вызова диспетчера пакетов, а просто для выгрузки содержимого в одно дерево каталогов, чтобы вы могли перемещать его куда угодно.
В производственных средах часто случается так, что вы не хотите использовать менеджер пакетов, а имеете больший контроль над развертыванием. Возможно, у вас есть несколько приложений, которые вы развертываете, и каждое из них требует своей версии JDK. Используя этот метод, вы можете сделать так, чтобы они все сосуществовали легче, чем, скажем, через менеджер пакетов.
$ pwd
/home/saml/jdk1.7.0
[saml@grinchy jdk1.7.0]$ ls -l
total 19308
drwxr-xr-x 2 saml saml 4096 Jan 13 2011 bin
-r--r--r-- 1 saml saml 2487 Jan 13 2011 COPYRIGHT
drwxr-xr-x 5 saml saml 4096 Jan 13 2011 db
drwxr-xr-x 11 saml saml 4096 Jan 13 2011 demo
drwxr-xr-x 3 saml saml 4096 Jan 13 2011 include
drwxr-xr-x 6 saml saml 4096 Sep 29 10:57 jre
drwxr-xr-x 3 saml saml 4096 Sep 29 10:57 lib
-r--r--r-- 1 saml saml 9005 Jan 13 2011 LICENSE
drwxr-xr-x 4 saml saml 4096 Jan 13 2011 man
-r--r--r-- 1 saml saml 25379 Jan 13 2011 README.html
-r--r--r-- 1 saml saml 20320 Jan 13 2011 README_ja.html
-r--r--r-- 1 saml saml 15160 Jan 13 2011 README_zh_CN.html
-r--r--r-- 1 saml saml 5348 Sep 29 10:58 register.html
-r--r--r-- 1 saml saml 5645 Sep 29 10:58 register_ja.html
-r--r--r-- 1 saml saml 4951 Sep 29 10:58 register_zh_CN.html
drwxr-xr-x 8 saml saml 4096 Jan 13 2011 sample
-rw-r--r-- 1 saml saml 19631790 Jan 13 2011 src.zip