Π‘ΡΠΊΠΎΠ½ΠΎΠΌΡŒΡ‚Π΅ 15% Π½Π° всСх хостинговых услугах

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свои Π½Π°Π²Ρ‹ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ скидку Π½Π° любой Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ΄: Skills ΠΠ°Ρ‡Π°Ρ‚ΡŒ
Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ
Linux

apt vs yum: Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Linux для систСмных администраторов

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Linux β€” это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС устанавливаСтся, обновляСтся, настраиваСтся ΠΈ удаляСтся Π² систСмС Linux. apt (Advanced Package Tool) управляСт ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ `.deb` Π² дистрибутивах Π½Π° основС Debian, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ubuntu ΠΈ Linux Mint, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ yum (Yellowdog Updater Modified) управляСт ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ `.rpm` Π² систСмах Π½Π° основС Red Hat, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ CentOS ΠΈ RHEL. Оба инструмСнта Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ зависимостСй, взаимодСйствия с Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² β€” ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ ΠΈ Π½Π΅ взаимозамСняСмы.

ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠΉ инструмСнт управляСт вашСй систСмой, β€” это Π½Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ знания. Π­Ρ‚ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° Ρ‚ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅Ρ‚Π΅ сСрвСры, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ развёртывания, ΠΏΠΈΡˆΠ΅Ρ‚Π΅ скрипты управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ (Ansible, Chef, Puppet) ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ»Ρ‹ примСнСния ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ бСзопасности Π² производствСнных срСдах.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Linux

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² β€” это Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… инструмСнтов, Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π² систСмС Linux: ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π², ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ криптографичСских подписСй, Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ установку Ρ†Π΅ΠΏΠΎΡ‡Π΅ΠΊ зависимостСй, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скриптов Π΄ΠΎ/послС установки ΠΈ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ установки Π² локальной Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Π‘Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² критичСски Π²Π°ΠΆΠ½Π° ΠΈ Π½Π΅Ρ€Π΅Π΄ΠΊΠΎ остаётся Π±Π΅Π· внимания. Π’ систСмах Π½Π° основС Debian ΠΎΠ½Π° находится ΠΏΠΎ адрСсу `/var/lib/dpkg/`. Π’ систСмах Π½Π° основС RPM ΠΎΠ½Π° располагаСтся Π² `/var/lib/rpm/`. ОбС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… хранят Π°Π²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½ΡƒΡŽ запись ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ установлСно, Π² ΠΊΠ°ΠΊΠΎΠΉ вСрсии ΠΈ с ΠΊΠ°ΠΊΠΈΠΌ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ Ρ„Π°ΠΉΠ»ΠΎΠ² β€” Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΈΡ… основой Π°ΡƒΠ΄ΠΈΡ‚Π° систСмы ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΎΡ‚ΠΊΠ°Ρ‚Π°.

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с рСпозиториями β€” ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ сСрвСрами, хранящими ΠΊΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ скомпилированных, подписанных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ рСпозитория (списки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ суммы, GPG-ΠΊΠ»ΡŽΡ‡ΠΈ) ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ локально ΠΏΠ΅Ρ€Π΅Π΄ любой установкой, ΠΈΠΌΠ΅Π½Π½ΠΎ поэтому `apt update` ΠΈΠ»ΠΈ `yum check-update` Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ установки Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… скриптах.

apt: Advanced Package Tool для систСм Π½Π° основС Debian

apt β€” это высокоуровнСвый интСрфСйс ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π² Debian, Ubuntu, Linux Mint, Pop!_OS ΠΈ всСх ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Ρ… дистрибутивах. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ инструмСнта `dpkg`, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСт Ρ„Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ установку ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² `.deb`. Π”ΡƒΠΌΠ°ΠΉΡ‚Π΅ ΠΎ `dpkg` ΠΊΠ°ΠΊ ΠΎ Π΄Π²ΠΈΠ³Π°Ρ‚Π΅Π»Π΅, Π° ΠΎ `apt` β€” ΠΊΠ°ΠΊ ΠΎΠ± ΡƒΠΌΠ½ΠΎΠΌ Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Π΅Ρ‚, Π³Π΄Π΅ Π·Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС ΡΠΆΠΈΠ³Π°Ρ‚ΡŒ Ρ‚ΠΎΠΏΠ»ΠΈΠ²ΠΎ.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ apt Π² дСталях

ЭкосистСма apt Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ нСсколько исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  • `apt` β€” соврСмСнный Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ CLI (прСдставлСн Π² Ubuntu 14.04 / Debian 8)
  • `apt-get` β€” Π±ΠΎΠ»Π΅Π΅ старый, скриптуСмый бэкСнд; ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½ Π² shell-скриптах благодаря ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ Π²Ρ‹Π²ΠΎΠ΄Π°
  • `apt-cache` β€” Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ кэш ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для получСния ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, описаний ΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² зависимостСй
  • `dpkg` β€” Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ установщик ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΡ€ΠΈ установкС локального Ρ„Π°ΠΉΠ»Π° `.deb` с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `dpkg -i package.deb`
  • `apt-mark` β€” ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΊΠ°ΠΊ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅, автоматичСски установлСнныС ΠΈΠ»ΠΈ установлСнныС Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ apt с тСхничСским контСкстом

ОбновлСниС локального индСкса ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²:

β€œ`bash

sudo apt update

β€œ`

Π­Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· всСх настроСнных Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π² Π² `/etc/apt/sources.list` ΠΈ `/etc/apt/sources.list.d/`. Команда Π½Π΅ устанавливаСт ΠΈ Π½Π΅ обновляСт Π½ΠΈΡ‡Π΅Π³ΠΎ. Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ установки ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ β€” пропуск ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ°Ρ‚Ρ‡ΠΈ бСзопасности.

ОбновлСниС установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²:

β€œ`bash

sudo apt upgrade

β€œ`

ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ всС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… сущСствуСт Π±ΠΎΠ»Π΅Π΅ новая вСрсия, Π½ΠΎ Π½Π΅ удаляСт Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Π½Π΅ устанавливаСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ для удовлСтворСния зависимости. Для Π±ΠΎΠ»Π΅Π΅ агрСссивного обновлСния, ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ измСнСния зависимостСй:

β€œ`bash

sudo apt full-upgrade

β€œ`

`full-upgrade` (Ρ€Π°Π½Π΅Π΅ `dist-upgrade`) ΠΏΡ€ΠΈ нСобходимости установит Π½ΠΎΠ²Ρ‹Π΅ зависимости ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π½Π° производствСнных систСмах.

Установка ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

β€œ`bash

sudo apt install package_name

β€œ`

Для установки Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ:

β€œ`bash

sudo apt install nginx curl git

β€œ`

ОбъСдинСниС установок Π² ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π±ΠΎΠ»Π΅Π΅ эффСктивно, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ apt Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π³Ρ€Π°Ρ„ зависимостСй ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π° Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (с сохранСниСм Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ):

β€œ`bash

sudo apt remove package_name

β€œ`

ПолноС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° (ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ):

β€œ`bash

sudo apt purge package_name

β€œ`

ВсСгда ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ `purge` вмСсто `remove` ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ слуТбы ΠΈΠ· эксплуатации. ΠžΡΡ‚Π°Π²ΡˆΠΈΠ΅ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ послС `remove` ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΉ установкС ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΡ€ΠΎΡ‚Π΅Π²ΡˆΠΈΡ… зависимостСй:

β€œ`bash

sudo apt autoremove

β€œ`

Π­Ρ‚ΠΎ часто игнорируСтся ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ€Π°Π·Π΄ΡƒΠ²Π°Π½ΠΈΡŽ зависимостСй. Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² свой рСгулярный Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс обслуТивания.

Поиск ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

β€œ`bash

apt search package_name

β€œ`

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ свСдСний ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄ установкой:

β€œ`bash

apt show package_name

β€œ`

Π­Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, Ρ€Π°Π·ΠΌΠ΅Ρ€ послС установки, зависимости ΠΈ ΡΠΎΠΏΡ€ΠΎΠ²ΠΎΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ β€” ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ установкой Π½Π΅Π·Π½Π°ΠΊΠΎΠΌΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°.

Π£Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии (ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ производствСнной срСды):

β€œ`bash

sudo apt-mark hold package_name

β€œ`

Π­Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `apt upgrade`. НСобходимо, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ ядра ΠΈΠ»ΠΈ зафиксированный Ρ€Π΅Π»ΠΈΠ· прилоТСния.

Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования apt: ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π²Π΅Π±-сСрвСра Π½Π° Ubuntu

β€œ`bash

sudo apt update

sudo apt install -y nginx certbot python3-certbot-nginx

sudo systemctl enable nginx

sudo systemctl start nginx

β€œ`

Π€Π»Π°Π³ `-y` подавляСт запрос подтвСрТдСния, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… скриптов ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ. ВсСгда сочСтайтС Π΅Π³ΠΎ с `apt update` Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ Π±Π»ΠΎΠΊΠ΅ скрипта, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ установку ΠΈΠ· Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… рСпозитория.

yum: Yellowdog Updater Modified для систСм Π½Π° основС RPM

yum β€” это ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для Red Hat Enterprise Linux (RHEL), CentOS 7 ΠΈ Π±ΠΎΠ»Π΅Π΅ старых Ρ€Π΅Π»ΠΈΠ·ΠΎΠ² Fedora. Он управляСт ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ `.rpm` ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… RPM. Подобно apt Π½Π°Π΄ dpkg, yum обСспСчиваСт Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ зависимостСй ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅ΠΌ ΠΏΠΎΠ²Π΅Ρ€Ρ… Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ `rpm`.

Π’Π°ΠΆΠ½ΠΎΠ΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠ΅ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π’ CentOS 8+, RHEL 8+ ΠΈ всСх соврСмСнных Ρ€Π΅Π»ΠΈΠ·Π°Ρ… Fedora yum Π±Ρ‹Π» Π·Π°ΠΌΠ΅Π½Ρ‘Π½ dnf (Dandified YUM). Π’ этих систСмах ΠΊΠΎΠΌΠ°Π½Π΄Π° `yum` ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ являСтся символичСской ссылкой ΠΈΠ»ΠΈ псСвдонимом для `dnf`. Если Π²Ρ‹ управляСтС любой систСмой ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ RHEL/CentOS 8 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ вСрсии, Π²Π°ΠΌ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ `dnf`. Бинтаксис ΠΊΠΎΠΌΠ°Π½Π΄ Π² основном совмСстим, Π½ΠΎ dnf ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ зависимостСй, Π±ΠΎΠ»Π΅Π΅ чистый API ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠ΅Π².

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ yum с тСхничСским контСкстом

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° доступных ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Π±Π΅Π· ΠΈΡ… примСнСния:

β€œ`bash

sudo yum check-update

β€œ`

Π­Ρ‚ΠΎ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π² Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… скриптах ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° для обнаруТСния отставания систСмы Π² ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ Π±Π΅Π· запуска обновлСния.

ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ всСх доступных ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ:

β€œ`bash

sudo yum update

β€œ`

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ `apt upgrade`, ΠΊΠΎΠΌΠ°Π½Π΄Π° `yum update` Ρ‚Π°ΠΊΠΆΠ΅ установит Π½ΠΎΠ²Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ зависимостСй ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ эквивалСнта `full-upgrade` Π½Π΅ сущСствуСт β€” yum ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ это ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Установка ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

β€œ`bash

sudo yum install package_name

β€œ`

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

β€œ`bash

sudo yum remove package_name

β€œ`

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: опСрация удалСния Π² yum ΠΈΠ½ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ каскадно ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ зависимыС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. ВсСгда просматривайтС сводку Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.

Поиск ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

β€œ`bash

yum search package_name

β€œ`

ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π΅:

β€œ`bash

yum info package_name

β€œ`

Бписок установлСнных ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²:

β€œ`bash

yum list installed

β€œ`

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° локального кэша:

β€œ`bash

sudo yum clean all

β€œ`

ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅. ВыполняйтС эту ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ рСпозитория Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ сбои Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ зависимостСй.

Π£Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии:

β€œ`bash

sudo yum versionlock add package_name

β€œ`

Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Π³ΠΈΠ½ `yum-plugin-versionlock`. Π­ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ‚ `apt-mark hold`, эта ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° для поддСрТания ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… производствСнных срСд, Π³Π΄Π΅ конкрСтная вСрсия ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Ρ‚ΡŒΡΡ автоматичСскими обновлСниями.

Π Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования yum: Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Apache Π½Π° CentOS 7

β€œ`bash

sudo yum install -y httpd

sudo systemctl enable httpd

sudo systemctl start httpd

sudo firewall-cmd –permanent –add-service=http

sudo firewall-cmd –reload

β€œ`

Распространённая ошибка β€” ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Apache ΠΈ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ брандмауэр. Π’ систСмах CentOS/RHEL `firewalld` Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΎΠ»Ρ‡Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ HTTP-Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, Π΄Π°ΠΆΠ΅ Ссли слуТба Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°.

apt ΠΏΡ€ΠΎΡ‚ΠΈΠ² yum: прямоС сравнСниС

Ѐункцияapt (Debian/Ubuntu)yum / dnf (RHEL/CentOS/Fedora)
Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π°`.deb``.rpm`
Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ инструмСнт`dpkg``rpm`
ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ дистрибутивыDebian, Ubuntu, Mint, Pop!_OSRHEL, CentOS, Fedora, AlmaLinux, Rocky Linux
ΠŸΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ / соврСмСнный CLI`apt` (Π·Π°ΠΌΠ΅Π½ΠΈΠ» `apt-get` для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ использования)`dnf` (Π·Π°ΠΌΠ΅Π½ΠΈΠ» `yum` Π² RHEL 8+)
Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ зависимостСйАвтоматичСскоС, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ конфликтыАвтоматичСскоС; dnf Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ΅Π½, Ρ‡Π΅ΠΌ yum
Настройка рСпозитория`/etc/apt/sources.list`, `/etc/apt/sources.list.d/``/etc/yum.repos.d/*.repo`
ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ удСрТания ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²`apt-mark hold``yum versionlock` (трСбуСтся ΠΏΠ»Π°Π³ΠΈΠ½)
Установка локального ΠΏΠ°ΠΊΠ΅Ρ‚Π°`dpkg -i file.deb``rpm -i file.rpm` ΠΈΠ»ΠΈ `yum localinstall`
Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ кэшСм`apt clean`, `apt autoclean``yum clean all`
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΡ€ΠΎΡ‚Π΅Π²ΡˆΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²`apt autoremove``yum autoremove` (dnf справляСтся Π»ΡƒΡ‡ΡˆΠ΅)
Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Π°ΡΠŸΠΎΠ»Π½Π°Ρ история Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ с ΠΎΡ‚ΠΊΠ°Ρ‚ΠΎΠΌ Ρ‡Π΅Ρ€Π΅Π· `yum history`
ΠŸΠΎΡ‚ΠΎΠΊΠΈ модулСйНС поддСрТиваСтся Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π² dnf (Application Streams)
ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° GPG-подписиДаДа
Π€Π»Π°Π³ для скриптов`-y` (Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ)`-y` (Π½Π΅ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ)

dnf: соврСмСнный ΠΏΡ€Π΅Π΅ΠΌΠ½ΠΈΠΊ yum

Если Π²Ρ‹ управляСтС любой систСмой RHEL 8+, CentOS Stream, AlmaLinux, Rocky Linux ΠΈΠ»ΠΈ Fedora, dnf β€” ваш ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ с yum Π½Π° dnf Π½Π΅ являСтся космСтичСским β€” dnf Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ряд Π΄Π°Π²Π½ΠΈΡ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ yum:

  • Π Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ зависимостСй: dnf ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ `libsolv`, которая Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС ΠΈ Ρ‚ΠΎΡ‡Π½Π΅Π΅, Ρ‡Π΅ΠΌ Ρ€Π΅Π·ΠΎΠ»Π²Π΅Ρ€ yum
  • Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ API: dnf прСдоставляСт ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Python API для скриптинга ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ
  • ΠŸΠΎΡ‚ΠΎΠΊΠΈ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ: dnf ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Application Streams, позволяя нСскольким вСрсиям ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, PHP 7.4 ΠΈ PHP 8.1) ΡΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² рСпозиториях
  • ΠžΡ‚ΠΊΠ°Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ: `dnf history undo <id>` позволяСт ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π°Ρ прямого эквивалСнта Π² apt

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ dnf, ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΡ‚ yum:

β€œ`bash

Install a module stream (e.g., PHP 8.1)

sudo dnf module enable php:8.1

sudo dnf install php

Roll back the last transaction

sudo dnf history undo last

Check which package provides a specific file

sudo dnf provides /usr/bin/python3

β€œ`

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ рСпозиториями: критичСски Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ Π½Π°Π²Ρ‹ΠΊ

Как apt, Ρ‚Π°ΠΊ ΠΈ yum/dnf ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Ρ€ΠΎΠ²Π½ΠΎ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ, насколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ настроСнныС для Π½ΠΈΡ… Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроСнныС ΠΈΠ»ΠΈ Π½Π΅Π½Π°Π΄Ρ‘ΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ риск бСзопасности.

Π’ Debian/Ubuntu бСзопасноС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ стороннСго рСпозитория:

β€œ`bash

Import the GPG key

curl -fsSL https://example.com/gpg.key | sudo gpg –dearmor -o /usr/share/keyrings/example-archive-keyring.gpg

Add the repository with key reference

echo "deb [signed-by=/usr/share/keyrings/example-archive-keyring.gpg] https://repo.example.com/apt stable main" | sudo tee /etc/apt/sources.list.d/example.list

sudo apt update

β€œ`

Π’ RHEL/CentOS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ рСпозитория:

β€œ`bash

sudo yum-config-manager –add-repo https://repo.example.com/centos/example.repo

Or manually create /etc/yum.repos.d/example.repo

β€œ`

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ бСзопасности: Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ добавляйтС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π±Π΅Π· нСзависимой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΅Π³ΠΎ GPG-ΠΊΠ»ΡŽΡ‡Π°. Π‘ΠΊΠΎΠΌΠΏΡ€ΠΎΠΌΠ΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ врСдоносныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ установлСны с ΠΏΡ€Π°Π²Π°ΠΌΠΈ root.

Π’Ρ‹Π±ΠΎΡ€ подходящСго ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² для вашСй сСрвСрной срСды

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² опрСдСляСтся вашим дистрибутивом Linux β€” Π²Ρ‹ Π½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ apt ΠΈΠ»ΠΈ yum нСзависимо. Π’Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ дистрибутив, ΠΈ это Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ послСдствия для доступности ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Ρ€Π°ΠΊΡ‚ΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, пСриодичности примСнСния ΠΏΠ°Ρ‚Ρ‡Π΅ΠΉ бСзопасности ΠΈ совмСстимости инструмСнтов.

  • Ubuntu LTS (apt): Π»ΡƒΡ‡ΡˆΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ для ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… Π½Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ VPS Π₯остинга, Π²Π΅Π±-сСрвСров ΠΈ срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π Π΅Π»ΠΈΠ·Ρ‹ с долгосрочной ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ обновлСния бСзопасности Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 5 Π»Π΅Ρ‚, Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹Π΅ Π΄ΠΎ 10 с Ubuntu Pro.
  • RHEL / AlmaLinux / Rocky Linux (dnf): стандарт для ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… производствСнных срСд, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π° Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… сСрвСрах, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… сСртифицированных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… стСков, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² соотвСтствия трСбованиям (PCI-DSS, HIPAA) ΠΈΠ»ΠΈ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ISV.
  • Debian Stable (apt): ΠΊΡ€Π°ΠΉΠ½Π΅ консСрвативныС вСрсии ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ для сСрвСров, Π³Π΄Π΅ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π°ΠΆΠ½Π΅Π΅ новСйшСго ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Π¨ΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π΄ΠΎΠ»Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… сСрвСров Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Ρ… сСрвСров.
  • CentOS Stream / Fedora (dnf): ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для срСд Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования, Π³Π΄Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ измСнСния upstream RHEL Π΄ΠΎ ΠΈΡ… появлСния Π² ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ….

ΠŸΡ€ΠΈ Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ управлСния, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ cPanel, Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ сущСствСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. cPanel ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ AlmaLinux, Rocky Linux ΠΈ CloudLinux β€” всС Π½Π° основС dnf. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ VPS с cPanel, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² срСдС dnf ΠΏΡ€ΠΈ соврСмСнных развёртываниях.

Для срСд, Π³Π΄Π΅ Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ графичСский ΠΈΠ»ΠΈ Π²Π΅Π±-интСрфСйс для управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ сСрвСра Π±Π΅Π· использования ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ ПанСли управлСния VPS, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°Π±ΡΡ‚Ρ€Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс, ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ apt ΠΈΠ»ΠΈ dnf ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ.

УсилСниС бСзопасности Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΡΠ²Π»ΡΡŽΡ‚ΡΡ основной ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ Π°Ρ‚Π°ΠΊΠΈ для Π°Ρ‚Π°ΠΊ Π½Π° Ρ†Π΅ΠΏΠΎΡ‡ΠΊΡƒ поставок. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ для любого сСрвСра, доступного ΠΈΠ· ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°:

  • Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ автоматичСскиС обновлСния бСзопасности β€” Π’ Ubuntu: ΠΏΠ°ΠΊΠ΅Ρ‚ `unattended-upgrades`. Π’ RHEL/CentOS: `dnf-automatic` с `apply_updates = yes` Π² `/etc/dnf/automatic.conf`.
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ GPG-подписи β€” Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ GPG (`–nogpgcheck` Π² yum/dnf ΠΈΠ»ΠΈ `–allow-unauthenticated` Π² apt) Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π»Π°Π±ΠΎΡ€Π°Ρ‚ΠΎΡ€Π½Ρ‹Ρ… срСд.
  • РСгулярно провСряйтС установлСнныС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `dpkg -l` ΠΈΠ»ΠΈ `rpm -qa` для создания ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ манифСста ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°ΠΉΡ‚Π΅ Π΅Π³ΠΎ с извСстным эталонным состояниСм.
  • УдаляйтС Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ β€” ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ установлСнный ΠΏΠ°ΠΊΠ΅Ρ‚ являСтся ΠΏΠΎΠ²Π΅Ρ€Ρ…Π½ΠΎΡΡ‚ΡŒΡŽ Π°Ρ‚Π°ΠΊΠΈ. ВыполняйтС `apt autoremove` ΠΈΠ»ΠΈ `dnf autoremove` послС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠΉ.
  • ЀиксируйтС критичСскиС ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `apt-mark hold` ΠΈΠ»ΠΈ `dnf versionlock` для прСдотвращСния Π½Π΅ΠΏΡ€Π΅Π΄Π½Π°ΠΌΠ΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠ°ΠΊ ядро, OpenSSL ΠΈΠ»ΠΈ Π΄Π²ΠΈΠΆΠΊΠΈ Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° производствСнных систСмах.

Если Π²Ρ‹ управляСтС ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΌ сСрвСром ΠΈΠ»ΠΈ хостингом ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠΉ инфраструктуры, особСнно Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΊΠ°ΠΊ Postfix, Dovecot ΠΈ ΠΈΡ… TLS-зависимости. Π‘ΠΎΡ‡Π΅Ρ‚Π°ΠΉΡ‚Π΅ строгоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ настроСнными SSL-сСртификатами для поддСрТания бСзопасности Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ транспорта. Аналогично, срСды Π²Π΅Π±-хостинга, управляСмыС Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠžΠ±Ρ‰Π΅Π³ΠΎ Π²Π΅Π±-хостинга, Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°ΡŽΡ‚ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ хостинг-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ уровня ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² остаётся Ρ†Π΅Π½Π½Ρ‹ΠΌ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ настройки.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° принятия Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹

ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ любой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ управлСния ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π½Π° производствСнной систСмС ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ этот ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ список:

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ список ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ:

  • ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ дистрибутив ΠΈ Π²Π΅Ρ€ΡΠΈΡŽ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅: `cat /etc/os-release`
  • ΠŸΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²: `which apt` ΠΈΠ»ΠΈ `which dnf` ΠΈΠ»ΠΈ `which yum`
  • Π’ систСмах apt: всСгда выполняйтС `sudo apt update` ΠΏΠ΅Ρ€Π΅Π΄ `apt install` ΠΈΠ»ΠΈ `apt upgrade`
  • Π’ систСмах yum/dnf: `sudo yum check-update` ΠΈΠ»ΠΈ `sudo dnf check-update` ΠΏΠ΅Ρ€Π΅Π΄ обновлСниями
  • ΠŸΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΠΉΡ‚Π΅ сводку Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ любой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ установки ΠΈΠ»ΠΈ удалСния
  • Для производствСнных сСрвСров: сначала тСстируйтС обновлСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² тСстовой срСдС
  • ПослС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ: провСряйтС статус слуТб с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ `systemctl status <service>`
  • ПослС удалСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²: выполняйтС `apt autoremove` ΠΈΠ»ΠΈ `dnf autoremove` для очистки ΠΎΡΠΈΡ€ΠΎΡ‚Π΅Π²ΡˆΠΈΡ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

АрхитСктурныС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `apt full-upgrade` вмСсто `apt upgrade` Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ удалСния ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `dnf` вмСсто `yum` Π² любой систСмС ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ RHEL 8 / CentOS 8 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΉ вСрсии
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `apt-get` (Π½Π΅ `apt`) Π² shell-скриптах ΠΈ CI/CD-ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½Π°Ρ… для ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ, Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌΠΎΠ³ΠΎ Π²Ρ‹Π²ΠΎΠ΄Π°
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ `yum versionlock` ΠΈΠ»ΠΈ `apt-mark hold` ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ любой Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΉΠΏΠ»Π°ΠΉΠ½ обновлСния Π·Π°Ρ‚Ρ€ΠΎΠ½Π΅Ρ‚ производствСнный сСрвСр
  • Никогда Π½Π΅ добавляйтС сторонниС Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π±Π΅Π· ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈΡ… GPG-ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

FAQ

Π’ Ρ‡Ρ‘ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ apt ΠΈ apt-get?

`apt` β€” это соврСмСнная ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ввСдённая для объСдинСния `apt-get` ΠΈ `apt-cache` Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ инструмСнт с Π±ΠΎΠ»Π΅Π΅ чистым Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ ΠΈ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ прогрСсса. `apt-get` ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ доступСн ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½ Π² скриптах, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ стабилСн ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями. Для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ использования Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ `apt` являСтся Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ стандартом.

ΠœΠΎΠ³Ρƒ Π»ΠΈ я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ apt Π½Π° сСрвСрС CentOS ΠΈΠ»ΠΈ RHEL?

НСт. apt ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для систСм Π½Π° основС Debian ΠΈ управляСт ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ `.deb`. CentOS ΠΈ RHEL ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² RPM, управляСмый yum ΠΈΠ»ΠΈ dnf. Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎ нСсовмСстимы β€” слоя ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π½Π΅ сущСствуСт.

Π§Ρ‚ΠΎ являСтся эквивалСнтом apt autoremove Π² yum?

`sudo yum autoremove` ΠΈΠ»ΠΈ `sudo dnf autoremove` удаляСт ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ установлСны ΠΊΠ°ΠΊ зависимости, Π½ΠΎ большС Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π½ΠΈ ΠΎΠ΄Π½ΠΈΠΌ явно установлСнным ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ. РСализация Π² dnf Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Ρ‘ΠΆΠ½Π°, Ρ‡Π΅ΠΌ Π² ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅ΠΉ вСрсии yum.

Как ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· apt ΠΈΠ»ΠΈ yum?

Π’ систСмах Π½Π° основС apt: `sudo apt-mark hold package_name`. Π’ систСмах yum/dnf: установитС ΠΏΠ»Π°Π³ΠΈΠ½ `yum-plugin-versionlock` ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ `sudo yum versionlock add package_name`, ΠΈΠ»ΠΈ Π² dnf: `sudo dnf versionlock add package_name`. Оба ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ `upgrade` ΠΈ `update` Π΄ΠΎ явного снятия удСрТания.

АктуалСн Π»ΠΈ yum Π² 2024 Π³ΠΎΠ΄Ρƒ?

Для систСм CentOS 7 ΠΈ RHEL 7, всё Π΅Ρ‰Ρ‘ находящихся Π² производствС, β€” Π΄Π°, yum остаётся ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Однако CentOS 7 достиг ΠΊΠΎΠ½Ρ†Π° срока ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π² июнС 2024 Π³ΠΎΠ΄Π°. Π›ΡŽΠ±Π°Ρ систСма, всё Π΅Ρ‰Ρ‘ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π°Ρ Π½Π° CentOS 7, Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ пСрСнСсСна Π½Π° AlmaLinux 8/9 ΠΈΠ»ΠΈ Rocky Linux 8/9, ΠΎΠ±Π° ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ dnf. НаписаниС Π½ΠΎΠ²Ρ‹Ρ… скриптов Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° yum, большС Π½Π΅ рСкомСндуСтся.