Різниця між .deb-файлами та .run-файлом


10

Яка різниця між створенням .deb-файлів та їх встановленням та просто запуском .run-файлу ?


1
Чи маєте на увазі конкретні приклади?
slm

Відповіді:


8

.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Файл імовірно то , що ви можете виконати. Він може встановити програму або зробити щось зовсім інше.


8

Загалом .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

Список літератури

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.