Skip to content

Лекція 28. Пакетні менеджери та репозиторії

Лекція 28. Пакетні менеджери та репозиторії

Section titled “Лекція 28. Пакетні менеджери та репозиторії”

Рівень 5: Оператор операційної системи

Марко, сьогодні ми не просто вивчимо новий термін — ми відкриємо ще один шар того, як насправді працює комп’ютер.

Що ми сьогодні розкриємо

Section titled “Що ми сьогодні розкриємо”
  • зрозуміти, що таке пакет, залежність і репозиторій
  • побачити, чим apt відрізняється від завантаження випадкових інсталяторів
  • встановити маленький навчальний пакет

Зв’язок з попередніми лекціями

Section titled “Зв’язок з попередніми лекціями”

У цій лекції ми використаємо знання про основні команди Linux із попередніх лекцій, щоб зрозуміти, як встановлюються програмні пакети.

Встановлення системних пакетів змінює комп’ютер. Усі sudo apt ... у курсі виконуємо разом із дорослим і лише для зрозумілих пакетів.

Пакет — підготовлений набір для системи

Section titled “Пакет — підготовлений набір для системи”

Програма часто складається не з одного файлу. Потрібні виконувані файли, бібліотеки, документація, метадані. Дистрибутиви Linux пакують це у packages.

Залежності — деталі LEGO, які потрібні іншим деталям

Section titled “Залежності — деталі LEGO, які потрібні іншим деталям”

Одна програма може використовувати бібліотеку, яка вже створена іншими розробниками. Це dependency. Пакетний менеджер допомагає встановити потрібні залежності та стежити за версіями.

Репозиторій — перевірене джерело пакетів для дистрибутива

Section titled “Репозиторій — перевірене джерело пакетів для дистрибутива”

apt отримує списки пакетів із налаштованих репозиторіїв. apt update оновлює інформацію про доступні версії; це не те саме, що автоматично оновити всі програми.

Перевага пакетного менеджера — централізовані джерела й керування. Це не означає, що будь-який пакет абсолютно безризиковий, але модель значно краща за випадкове завантаження невідомих скриптів.

sudo apt update оновлює локальний список інформації про пакети.

sudo apt install cowsay просить пакетний менеджер встановити cowsay та потрібні залежності.

Після встановлення команда apt show cowsay може показати опис пакета.

Linux-лабораторія: встановлюємо корову

Section titled “Linux-лабораторія: встановлюємо корову”

Разом із дорослим на Ubuntu/Debian:

Terminal window
sudo apt update
sudo apt install cowsay

Потім спробуй:

Terminal window
cowsay "Привіт, Марко!"

На деяких системах виконуваний файл може опинитися поза поточним PATH; тоді це окремий привід дослідити, де пакет його встановив.

Виконай місію по черзі. Якщо щось не виходить — спочатку перечитай приклад вище й спробуй знайти, на якому кроці результат відрізняється.

  1. перед встановленням поясни, що зробить кожна з двох apt-команд
  2. встанови cowsay разом із дорослим
  3. запусти cowsay із трьома різними повідомленнями
  4. виконай apt show cowsay і знайди короткий опис
  5. поясни різницю між пакетом, залежністю і репозиторієм
  • Що таке пакет?
  • Що таке dependency?
  • Що таке repository?
  • Чим apt update відрізняється від apt install?
  • Навіщо тут потрібен sudo?
  • Пакет (package) — підготовлений набір для системи: виконувані файли + бібліотеки + документація.
  • Залежність (dependency) — компонент, який потрібен іншій програмі, щоб працювати.
  • Репозиторій (repository) — перевірене джерело, звідки беруться пакети.
  • Пакетний менеджер — програма, що встановлює та обліковує пакети й залежності.
  • apt update — оновлює інформацію про доступні версії пакетів.
  • apt install — встановлює пакет і потрібні залежності.

Чек-лист перед наступною лекцією

Section titled “Чек-лист перед наступною лекцією”
  • Чи можеш ти пояснити, що таке пакети та залежності?
  • Чи вмієш ти встановлювати та оновлювати пакети за допомогою apt?
  • Чи розумієш ти, як працює система пакетного менеджменту у Linux?

Що потрібно винести з лекції

Section titled “Що потрібно винести з лекції”
  • пакетний менеджер встановлює й обліковує системне програмне забезпечення
  • репозиторії є джерелами пакетів
  • залежності дозволяють програмам повторно використовувати спільні компоненти

Хакерський принцип: не запам’ятовуй магічні слова. Намагайся пояснити своїми словами, що відбулося і чому.