Чи слід встановлювати програми з вихідного tarball (`.tar.gz`), з програмного центру Ubuntu або з інших місць?


29

Існує кілька способів встановлення програми в Ubuntu:

  • Ви можете завантажити вихідний тарбол (як правило, .tar.gzабо .tar.bz2файл) та встановити його вручну. (Див. Як встановити файл .tar.gz (або .tar.bz2)? )

  • Ви можете завантажити .debфайл і встановити його вручну, використовуючи dpkgабо Програмний центр.

  • Ви можете шукати додаток у Центрі програмного забезпечення Ubuntu та встановлювати його там або використовувати aptз офіційними сховищами Ubuntu.

  • Ви можете знайти PPA або сторонне репо і встановити його звідти.

Які плюси і мінуси кожного методу? Будь ласка, обговоріть у своїй відповіді наслідки безпеки, частоту оновлень та надійність програми кожного методу.


1
це багато запитань в одному. Можливо, трохи краще поставити більш цілеспрямоване запитання. За замовчуванням використовується програмний центр Ubuntu. Гарне порівняння / контраст буде між кулями гудрону (.tar.gz) та екосистемою apt-get + .deb (включаючи командний рядок та програмний центр Ubuntu).
Warren P

Якщо його задають чотирма окремими питаннями, відповідь була б / повинна бути однаковою для всіх чотирьох: віддайте перевагу встановленню / оновленню за допомогою менеджера pkg від репо (головного чи третього боку). Якщо це не варіант, то ви можете почати входити в загальні результати роботи цього контенту - але в цей момент воно, ймовірно, знижує те, що додаток використовується, і що ви конкретно хочете з ним робити. (Наприклад, я встановлюю стандартний "java" з публічного репо, але як розробник я також встановлюю 5 різних версій в / opt / java через tar.gz).
Майкл

Відповіді:


33
  • Надійність:
    • При установці з тарболу програмне забезпечення може спробувати замінити інше програмне забезпечення. Побудувати залежності потрібно, і процес має високий рівень відмов. Якщо ви встановлюєте програмне забезпечення, від якого залежать пакети у сховищах, це не задовольнить цю залежність, оскільки вона не зареєстрована dpkg, якщо ви не використовуєте checkinstallтимчасове перетворення в пакет debian. Цим ви ризикуєте зламатись dpkg. Навіть якщо код з відкритим кодом, якщо ви не переконаєтесь, що він не був змінений, все одно слід завантажити його з надійного сайту. Ви можете встановити кілька версій програмного забезпечення, якщо вони використовують різні каталоги. Ви можете змінити це в makefile.
    • Використання пакета debian забезпечить, щоб файли не переписували файли інших програм, однак, якщо використовується sudo dpkg -i file.deb, спочатку потрібно встановити залежності. Якщо встановити цей спосіб, ви не отримаєте оновлень, якщо пакет також не знаходиться у сховищах, але цей пакет задовольнятиме залежності, що вимагають цього програмного забезпечення. Також, швидше за все, цей пакет надасть меню меню або принаймні зареєструє вручну. Пакети Debian зазвичай тестуються з Lintian, що гарантує, що пакунки відповідають або перевищують набір стандартів, які можуть бути досить суворими, аж до того, чи є у певних файлів який-небудь виконуваний код чи ні. Неможливо встановити кілька версій одного пакету. Неправильно зроблений пакет може не вдатися до встановлення, не зможе видалити або навіть зламати DPKG, що призводить до складного ремонту, шаленого пошуку резервних копій або навіть перевстановлення, якщо проблема серйозна.
    • Використання apt- найкращий варіант, коли це можливо. Залежності будуть автоматично встановлені та встановлені, а пакети будуються з використанням надійних конфігурацій сервера побудови на панелі запуску, мінімізуючи збої. Пакети можна шукати через aptitudeабо інші подібні інструменти, а оновлення легко полегшити через менеджер оновлень. Оскільки залежність також походить apt, пакет, швидше за все, взаємодіє із залежностями належним чином. Пакети випробовуються через Lintian, як і деби, але тестування в поєднанні з високостабільними серверами збірки робить ще більш стабільними пакети. Оскільки пакети проходять через сервери збирання Ubuntu, швидше за все, вони будуть налаштовані на інтеграцію з рештою ОС. Кілька версій одного пакету не можутьбути встановлений. Оскільки сервери збирання Ubuntu використовуються для PPA, ви можете зламати менше змін aptчерез автоматичне обмеження.
  • Оновлення:
    • З тарботом ви не отримаєте жодних оновлень, якщо програма не має власної перевірки на них. З цим вам потрібно буде встановити такі оновлення вручну, і вони не будуть консолідовані в одному місці. Можливо, ви зможете отримати нічний або навіть поточний вихідний код у тарболі для компіляції та встановлення. Якщо вам потрібен крайовий код, це може бути корисним.
    • З debian пакети оновлюватимуться лише у тому випадку, якщо у вас є сховище для них. Розробники, швидше за все, зроблять пакунки debian трохи позаду джерела кровотоку, але бета-версії часто зустрічаються з дебами в Інтернеті.
    • З apt, пакети будуть оновлюватися дуже легко. Оновлення консолідуються в одному місці, менеджером оновлень, і робляться автоматично або напівавтоматично. Якщо ви не перебуваєте на альфа-або бета-версії Ubuntu, ви будете використовувати добре перевірені версії, навіть якщо вони стоять на версії або дві позаду поточного вихідного джерела. Оновлення безпеки будуть висунуті, як тільки вони будуть ретельно перевірені, щоб переконатися, що вони не погіршать ситуацію. Це означає, що ваша безпека буде захищена своєчасними оновленнями, але ці оновлення будуть перевірені, щоб уникнути втрати даних.
  • Безпека:
    • Тарболи ні в якому разі не підписуються цифровим способом. Вони можуть бути зловмисними чи модифікованими сторонніми сторонами. Навіть якщо ви робите хеш-сум (уникайте MD5), вам все одно слід довіряти власнику сайту та автору пакету, оскільки вони надають суми SHA- або MD5.
    • Пакети Debian не підписані, однак dpkgне дозволять пакету debian перезаписувати файли іншого, тому шкідливий деб не може знищити initчи зіпсувати bashйого, замінивши його. Ви завжди повинні довіряти веб-сайту та автору пакета.
    • aptвикористовує підписані ключі для сховищ, тому їх не можна керувати без червоного прапора. Завантаження PPA цифровим підписом, тому невласники PPA не можуть складати зламані або небезпечні пакети. Також не застосовується перезапис для файлів іншого пакету. Звичайно, ви повинні довіряти власникові PPA або сховища, оскільки після запуску виконуються неперевірені пакети зі шкідливим кодом.

1
Я пропоную вам додати інтеграцію. Менеджери пакетів Ubuntu та Destream переконуються, що пакети беруть участь у загальносистемних функціях, як система альтернатив (у мене є програми X, які можуть відкрити веб-сторінку, яку я хочу бути за замовчуванням) тощо. Ручна установка тарболу зазвичай не працює таким чином.
Warren P

@WarrenP Я дійсно додавав це, але це може бути не зрозуміло. Спасибі!
ζ--

Було "Якщо ви встановлюєте програмне забезпечення, від якого залежать пакети у сховищах, це не задовольнить цю залежність, оскільки він не зареєстрований у dpkg ." в першому пункті означало інтеграцію ?

1
@ vasa1 Це стосується tarballs, оскільки Apt і dpkg перевірять їхні бази даних, а не файлову систему, визначаючи, чи встановлений пакет. Ви завжди можете скористатися checkinstallцим.
ζ--

19

Коротка відповідь полягає в тому, що установка з програмного центру Ubuntu, як правило, краща за всі інші методи . Однак бувають випадки, коли ви, можливо, захочете встановити програму з іншого місця.


Встановлення з джерела:

  • Вплив на безпеку : Вам потрібно довіряти авторам програмного забезпечення та веб-сайту, на якому розміщено завантаження. Ви також повинні перевірити, чи завантаження здійснюється через HTTPS, інакше стороннє підприємство може змінити завантаження.

  • Частота оновлень : ви завжди отримаєте найновіші та найкращі! Оновлення будуть такими ж частими, як обирають оригінальні автори. Однак вам потрібно буде перевірити наявність оновлень самостійно вручну.

  • Надійність : Це може бути не настільки надійним, як інші методи, тому що програмне забезпечення пройшло менше тестування, і навіть не може бути протестовано на Ubuntu, просто на інші дистрибутиви Linux.

  • Простота встановлення та видалення : Найважче з усіх варіантів. Навіть досвідчені користувачі можуть уникати цієї опції, оскільки вони віддають перевагу використанню нативних пакунків Debian, якими керувати набагато простіше.

Встановлення з .debпакету:

  • Наслідки для безпеки : Те саме, що встановити з джерела.

  • Частота оновлень : те саме, що встановити з джерела.

  • Надійність : Трохи краще, ніж установка з джерела. Якщо автори надали .debпакет, це означає, що вони, ймовірно, зробили кілька мінімальних тестувань на Debian або Ubuntu.

  • Простота установки та видалення : Дуже просто. Просто двічі клацніть та натисніть «встановити»! Так само легко для видалення.

Встановлення з програмного центру Ubuntu:

  • Вплив на безпеку : Вам потрібно довіряти авторам програмного забезпечення та репортажникам Ubuntu repo. В цілому, це краща безпека, ніж установка безпосередньо з джерела, оскільки програма певною мірою була переглянута сервісами Debian та / або Ubuntu. Підтримувачі Debian та / або Ubuntu можуть виправити програму, щоб виправити недоліки безпеки, якщо програма відкрита.

  • Частота оновлень : Сервіси Debian та / або Ubuntu вибирають лише деякі версії програмного забезпечення. (Наприклад, вони можуть вибирати лише стабільні оновлення). Існує затримка між випуском програми та її включенням до репозитів Debian та / або Ubuntu. Якщо ви хочете останнього і найкращого, це не найкращий варіант. Якщо ви хочете перевірити стабільні оновлення, це хороший варіант. Оновлення пропонуються автоматично через менеджер оновлень та apt-get.

  • Надійність : Набагато краще, ніж установка з джерела, оскільки програма була переглянута та налаштована на Ubuntu.

  • Простота встановлення та видалення : Дуже, дуже просто.

Установка з PPA або стороннього репо:

  • Вплив на безпеку : Вам потрібно довіряти авторам програмного забезпечення та тому, хто підтримує PPA. Абсолютно кожен може приймати PPA, тому не довіряйте PPA лише тому, що він знаходиться на Launchpad. Користувач міг бути ледачим і зовсім не переглядати програмне забезпечення.

  • Частота оновлень : Це залежить від PPA. Перевірка оновлень проста.

  • Надійність : Часто менш надійна, ніж установка з програмного центру Ubuntu. PPA існують для програм, які ще не відповідають стандартам програмного центру Ubuntu, тому вони практично гарантують, що вони є менш надійними.

  • Простота встановлення та видалення : навчитися це не важко, і він добре вписується в управління пакетами Ubuntu.


1
USC - це лише передумови для apt-getбудь-якого. Давайте не перетворювати це на дебати з графічним інтерфейсом проти командного рядка. Якщо ви вважаєте, що вибір варто обговорити, почніть інше питання.
Флімм

2
@Flimm: не зовсім, USC може також встановити .deb пакет, тому більш доцільно називати USC frontend для apt-get та dpkg.
Лі Лі Райан

1
Я не кажу "дебати", я кажу "користувачі приходять сюди, щоб отримати зрозумілість, і це питання і ця відповідь, здається, не дуже прояснюють питання".
Warren P

1
@LieRyan: погодився.
Flimm

1
@WarrenP: Я не погоджуюся з тим, для чого приходять сюди користувачі. Користувачі приходять сюди, щоб вирішити, звідки завантажити та встановити додаток. Якщо це не зрозуміло з питання, ми можемо його відредагувати. Я думаю, що питання зрозуміле, якщо у вас є ще одне питання, яке корисніше для користувачів, створіть нове повідомлення.
Flimm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.