Що це за формати файлів і чим вони відрізняються від .msi
формату в Windows? Також які плюси і мінуси цих схем управління пакетами?
Що це за формати файлів і чим вони відрізняються від .msi
формату в Windows? Також які плюси і мінуси цих схем управління пакетами?
Відповіді:
Файли, такі як .deb
і .rpm
, більше схожі на .zip
файл. Вони є деревом каталогів файлів і підкаталогів, які містять файли, пов'язані з певною програмою та / або бібліотекою файлів.
Ці .deb
файли призначені для розподілу Linux , які випливають з Debian (Ubuntu, Linux Mint і т.д.). Ці .rpm
файли використовуються в першу чергу розподілами , які випливають з дистрибутивів Redhat основи (Fedora, CentOS, RHEL), а також в дистрибутиві OpenSUSE.
Ці файли мають ще одну особливу ознаку, яка відрізняє їх від .zip
файлів, оскільки вони можуть містити специфікацію, яка містить правила, які повідомляють програмне забезпечення менеджера пакунків, що працює в системі, що встановлює один з цих файлів, щоб виконувати додаткові завдання. Ці завдання включатимуть такі речі, як:
.deb
або .rpm
файлі.msi
Файли схожі на .deb
& .rpm
файли, але, ймовірно, ще складніші. Ці .msi
файли використовуються в Windows Installer , і пропонують додаткові функції , такі як:
Я б запропонував ознайомитися з різними сторінками Вікіпедії з цих питань, якщо ви хочете більш поглиблене пояснення.
ar
архіви, а rpms (можливо, частково) архіви cpio. У випадку деб легко переконатися, що деб можна розпакувати ar -x
. У випадку об / хв я не знаю, чи це можливо.
rpm2cpio package.rpm | cpio -idv
Інші відповіді стосуються якостей .deb
та .rpm
подібних до них .msi
. Всі вони містять програмне забезпечення у стисненому форматі, яке може робити додаткові речі. Ці додаткові речі, про які вже згадувалося, включали додавання користувачів, завдань до і після встановлення, реєстрацію програми в системі (наприклад, реєстр Windows, xdg-dirs, OpenRC / systemd init тощо).
Що відрізняє формати (і це величезний профі) - це залежності. І файли, .deb
і .rpm
файли можуть перелічувати імена та версії інших програм, які повинні бути встановлені як необхідне програмне забезпечення. Самі по собі це просто інформаційно, але ...
Зазвичай ви не безпосередньо взаємодієте з файлами .deb
та .rpm
файли так, як це робите з .msi
файлами. Насправді, як згадувалося раніше, a, .deb
як правило, є лише архівом (ar або tar), стислим xz із вміщеними файлами у певній компоновці каталогу. Натомість ви використовуєте такі інструменти, як dpkg
і rpm
для управління цими файлами.
dpkg
і rpm
встановить вміст .deb
та .rpm
файли та перевірить, чи встановлено все необхідне програмне забезпечення. Запуск цих програм аналогічний натисканню на .msi
файл. Користувачі , проте, як правило , не взаємодіють з dpkg
або , rpm
але замість того, щоб використовувати apt-get
і yum
для установки пакетів. Ці інструменти не мають точних аналогів на windows.
Обидва apt-get
і yum
можуть отримувати файли з віддалених (або локальних) сховищ та використовувати інформацію про залежність, що зберігається у файлах, .deb
та .rpm
файли, щоб отримати та встановити будь-які попередні реквізити, не виконані. За допомогою цих інструментів мені не потрібно знати і не турбуватися про те, яке інше програмне забезпечення мені потрібно, я можу просто вказати apt-get install chromium
і знати, що apt-get
переконайтеся, що я встановив gtk +, alsa, певні бібліотеки X тощо, без того, щоб мені вручну знаходити та встановлювати ці .deb
та .rpm
файли.
apt-get
і yum
ви великі два менеджери пакунків, ви також знайдете emerge
і pacman
там, які виконують ту саму роботу, хоча з різними основними механізмами.
.deb
що упаковані за допомогою ar
утиліти. не знаю чому.
emerge
менеджером пакетів, можливо, вам слід також розглянути порти BSD (хоча я про них не знаю багато, тому я не впевнений, чи є у них еквівалент менеджера пакунків у GNU / Linux).
emerge
і він дуже схожий на порти. Це все на основі джерела і дуже настроюється, але якщо команда буде встановлювати / видаляти, обробляти залежності та зберігати базу даних встановлених пакетів, я називаю це менеджером пакетів. Хороші коментарі.
Він має такі самі функції, як і файл MSI під Windows:
У Linux вони також управляють залежностями між іншими пакетами.
Цей формат управління пакетами робить багато інших речей, але це основні функції.
.rpm
Файли - це пакети RPM, які посилаються на тип пакунків, використовуваний Red Hat та похідними Red Hat (наприклад, Fedora, RHEL, CentOS). .deb
Файли - це пакети DEB, які є типом пакунків, використовуваним похідними Debian і Debian (наприклад, Debian, Ubuntu).
Після завантаження вони, як правило, встановлюються за допомогою команд відповідно rpm
та dpkg
відповідно у відповідних дистрибутивах. Іншими словами, вони представляють собою файли, які встановлюються rpm
і dpkg
замість того , .msi
чи .exe
файли , які Виконувані , які встановлюють самі.
Пакети RPM і DEB відрізняються від MSI у багатьох напрямках.
rpm
і dpkg
).yum
і aptitude
відповідно - є так звані сховища, які пропонують пакети, складені для відповідної системи, і менеджер пакунків автоматично встановить усі залежності від даних у сховищах.Вони є .deb
і .rpm
пакетами програм для дистрибутивів GNU / Linux, що містять програмне забезпечення (програма (и), додатки) тощо) та інформацію для програмного забезпечення "* інсталятор *" про саме програмне забезпечення та інструкції щодо встановлення того, що і де правильно.
.deb
→ Програмний пакет Debian на дистрибутивах на основі Debian. Встановлюється, наприклад, apt
/ aptitude
(командний рядок) або графічно, наприклад, наприклад, " Synaptic ", " Центр програмного забезпечення Ubuntu ", " Gdebi ",….rpm
→ Менеджер пакунків Red Hat : у дистрибутивах Fedora / Red Hat (на основі). Встановлюється через yum
(командний рядок), або графічно через, наприклад, " yumex ".msi
є → Microsoft Installer : Зовнішньо так само, як вище, для ОС Microsoft WindowsСамі інсталятори також можуть обробляти обслуговування, оновлення та / або видалення пакетів. Також: тут " інсталятор " означає програмне забезпечення для виконання цих завдань правильно - воно також надає згадану інформацію для самого користувача, звичайно, для виконання таких завдань вручну.
yumex
це правильне ім'я ... дякую за підказку
.deb
: Пакет Debian, який використовується для Linux на базі Debian, таких як Ubuntu, Linux Mint тощо.
.rpm
: rpm
інсталятор для Linux-дистрибутивів на базі Red Hat, таких як RHEL, Fedora та CentOS
.msi
: Бінарний інсталятор для платформи Windows