Як фактично встановлюються пакети через apt-get install?


29

Використовуючи apt-get installметод встановлення пакета на ubuntu, чи є якась принципова різниця між отриманням вихідного коду для цього пакета та його побудовою з нуля? Чи apt-get installфункціональність просто завантажує джерело і збирає його на вашій машині у вказаний каталог, чи відбувається більше за кадром?

Нарешті (можливо, на це немає відповіді) один метод кращий за інший? Що я тут закликаюсь, чи має це побудувати його з вихідного коду якісь переваги чи краще дозволити apt-getробити це?

Відповіді:


25

До переваг системи управління пакетами, таких як apt, yum, pacman, emerge тощо, можна віднести:

  • Легко запитати, яка версія пакета встановлена ​​чи доступна.
  • Видалити пакунок легко повністю, переконавшись, що всі його файли зникли.
  • Легко перевірити цілісність файлів пакунків, тож ви зможете побачити, чи вони зіпсовані чи підроблені.
  • Оновити пакет легко, встановивши нову версію та видаливши всі старі файли версій. Це дозволить не залишати жодних затяжних файлів зі старого пакета навколо, щоб плутати або порушувати речі.
  • Неважко зрозуміти, які пакунки вимагають або надають речі, які надають або потребують інші пакунки, тому ви можете бути впевнені, що потрібні елементи для правильного функціонування пакета.
  • Встановити або видалити групи пакетів легко.
  • У багатьох випадках можливе повернення до попередньої версії пакету, наприклад, коли нова версія має помилку.

Хоча це стосується Fedora, дивіться також:

https://fedoraproject.org/wiki/Package_management_system

Установка з джерела може мати переваги

  • Ви можете налаштувати бінарні файли (включити / вимкнути параметри)
  • Більш сучасний пакет доступний у сховищах
  • Іноді необхідно для виправлення помилок

Але недоліки полягають у тому, що вам доведеться потім оновити пакет вручну, коли буде доступна нова версія, і ви часто втратите підтримку.

IMO, якщо ви хочете скласти всі або більшість своїх пакетів, я б радив Gentoo.


1
Щоб уточнити цю чудову відповідь, якщо ви збираєтеся самостійно, менеджер оновлень не залишиться в курсі, і тому не оновлюватиме вашу програму для вас після виходу оновлень. Також apt (вибраний менеджер пакунків Ubuntu) не компілюється; він завантажує готові складені бінарні файли. Нарешті, apt автоматично підтримує вашу систему меню під час встановлення чи видалення програм. Коли ви збираєте вручну, вам доведеться це робити самостійно.
Падді Ландау

1
Ще одна невелика перевага складання пакунків самостійно - це те, що вони будуть складені з більш знанням вашого точного обладнання та можуть працювати швидше. Якщо ви йдете цим маршрутом, подумайте про те, щоб скористатися реєстрацією. asic-linux.com.mx/~izto/checkinstall Він відслідковує встановлене і допомагає при необхідності чисто видалити його згодом.
Джо

Я поправляюсь щодо швидшого запуску частини.
Джо

18

Apt-get - це утиліта для обробки пакетів APT (CLI), підтримка Synaptic і Aptitude .

Метод apt-get при запуску з вашої системи перевіряє офіційні джерела чи сховища, перелічені у файлі

etc/apt/sources.list

Наприклад, наприклад. на бігу (яким я користуюсь) виконує щось на кшталтsudo apt-get update && sudo apt-get upgrade

введіть тут опис зображення

де Ign (Ignore) перед Посиланням вказує, що з останнього відвідування цього сховища жодних змін не робиться, і Get констатує пошук файлу Sources із зазначенням змін нещодавно доступного пакету у цьому Репозиторії.

Ні, утиліта apt-get не завантажує вихідний файл , а завантажує пакет .deb, упакований та випущений офіційними пакунками Ubuntu, перевіреними на стабільність та інтеграцію у вашу систему.

APT-GET , завантажені пакети можна знайти в

/var/cache/apt

де ви можете побачити все , Updatesяк .deb пакети , і ви навіть можете порівняти перевірити свою версію, відвідавши ці Precise-поновлення пакетів .

Що стосується компіляції з вихідних пакетів, то це не доцільно і навіть не рекомендується для Ubuntu 12.04, оскільки це випуск LTS, ви можете переглянути причини тут

Чи краще компілювати з джерела або встановити з пакета .deb?

Чи може компіляція програм з джерела пришвидшити мою операційну систему?

Переваги / недоліки установки з вихідного коду

Для подальших довідок: apt-get , source.list .


насправді 3 програми, apt-get, здібності та синаптики є допоміжними дляdpkg
Хав'єр Лопес,

1
Aptitude - фронтальний для dpkg . Тоді як dpkg може бути використаний як передній для dpkg-deb та dpkg-query
atenz

2

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

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


Тож apt-get нічого не будує - просто завантажує двійкове по суті?
математик1975

3
Саме так. Це завантаження заздалегідь вбудованого бінарного файлу для вашої архітектури (amd64, i386, armel тощо).
tgm4883

2

Я думаю, ви можете використовувати apt-get для встановлення джерел пакетів.

  1. Потрібно активувати сховища вихідного коду

    Відкрийте /etc/apt/sources.list файл, ви побачите коментовані рядки (починається з #), у яких "джерело".

    Відлучте їх

  2. Встановіть залежність потрібної програми:

    sudo apt-get build-dep "program"

  3. Завантажте та складіть програму:

    sudo apt-get -b source "program"

Після цього ви отримуєте .deb пакет у своєму домашньому каталозі.

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