Установка Envoy из репозитория на различных операционных системах

Envoy — это высокопроизводительный прокси-сервер, который может использоваться для балансировки нагрузки, защиты приложений и обеспечения связи между микросервисами. В этой статье мы рассмотрим процесс установки Envoy из официального репозитория на различных операционных системах.

Установка на MacOS
Обновите список пакетов:
brew update

И установите Envoy:
brew install envoy

Установка на Debian
Для установки Envoy на Debian выполните следующие шаги:
sudo apt update
sudo apt install debian-keyring debian-archive-keyring apt-transport-https curl lsb-release

Затем добавьте ключ подписи репозитория GetEnvoy:
curl -sL 'https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg

Проверьте контрольную сумму ключа:
echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check

Добавьте строку источника в файл «sources.list»:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/getenvoy-keyring.gpg] https://deb.dl.getenvoy.io/public/deb/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list

Обновите список пакетов:
sudo apt update

И установите Envoy:
sudo apt install getenvoy-envoy

Установка на CentOS
Для установки Envoy на CentOS выполните следующие шаги:
sudo yum install yum-utils

Затем импортируйте ключ подписи репозитория GetEnvoy:
sudo rpm --import 'https://rpm.dl.getenvoy.io/public/gpg.CF716AF503183491.key'

Создайте файл конфигурации репозитория:
curl -sL 'https://rpm.dl.getenvoy.io/public/config.rpm.txt?distro=el&codename=7' > /tmp/tetrate-getenvoy-rpm-stable.repo

Добавьте репозиторий в систему:
sudo yum-config-manager --add-repo '/tmp/tetrate-getenvoy-rpm-stable.repo'

Обновите список пакетов:
sudo yum makecache --disablerepo='*' --enablerepo='tetrate-getenvoy-rpm-stable'

И установите Envoy:
sudo yum install getenvoy-envoy

Установка на Ubuntu
Для установки Envoy на Ubuntu выполните следующие шаги:
sudo apt update
sudo apt install apt-transport-https gnupg2 curl lsb-release

Затем добавьте ключ подписи репозитория GetEnvoy:
curl -sL 'https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg

Проверьте контрольную сумму ключа:
echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check

Добавьте строку источника в файл «sources.list»:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/getenvoy-keyring.gpg] https://deb.dl.getenvoy.io/public/deb/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list

Обновите список пакетов:
sudo apt update

И установите Envoy:
sudo apt install -y getenvoy-envoy

Начальное конфигурирование Envoy
Создайте файл конфигурации:
touch /etc/envoy/envoy.yaml

И вставьте в него следующее содержание:
static_resources:
  listeners:
  - name: listener_0
    address:
      socket_address: { address: 0.0.0.0, port_value: 80 }
    filter_chains:
    - filters:
      - name: envoy.filters.network.http_connection_manager
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
          stat_prefix: ingress_http
          codec_type: AUTO
          route_config:
            virtual_hosts:
            - name: backend
              domains: ["*"]
              routes:
              - match: { prefix: "/" }
                route:
                  cluster: service_cluster
          http_filters:
          - name: envoy.filters.http.router

  clusters:
  - name: service_cluster
    connect_timeout: 0.25s
    type: LOGICAL_DNS
    lb_policy: ROUND_ROBIN
    dns_lookup_family: V4_ONLY
    load_assignment:
      cluster_name: service_cluster
      endpoints:
      - lb_endpoints:
        - endpoint:
            address:
              socket_address:
                address: service_host
                port_value: 80

Создание сервиса
Создайте файл конфигурации:
nano /etc/systemd/system/envoy.service

И вставьте в него содержимое:
[Unit]
Description=Envoy Proxy
Documentation=https://www.envoyproxy.io/
After=network-online.target

[Service]
User=root
Restart=on-failure
ExecStart=/usr/bin/envoy -c /etc/envoy/envoy.yaml
[Install]
WantedBy=multi-user.target

Запуск Envoy
Добавьте Envoy в запуск:
sudo systemctl enable envoy

И запустите сервис:
sudo systemctl start envoy

Проверьте что все работает:
sudo systemctl status envoy


Админ-интерфейс
Когда все будет готово, зайдите в админ-интерфейс в браузере по адресу:
http://127.0.0.1:9901/

Как удалить старые пакеты Docker в CentOS

Команда «for pkg in docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine; do sudo yum remove $pkg -y; done» используется для удаления нескольких пакетов Docker с помощью менеджера пакетов YUM в операционной системе Linux.

Эта команда выполняет следующие действия:

1. Устанавливает список пакетов, которые нужно удалить.

2. Затем она проходит через каждый пакет в этом списке, используя цикл «for».

3. Для каждого пакета в списке выполняется команда «sudo yum remove $pkg -y». Здесь «sudo» используется для получения привилегий суперпользователя (root), «yum» — это команда для управления пакетами в YUM, «remove» указывает на то, что пакеты должны быть удалены, "-y" говорит о том, что команда должна быть выполнена без запроса подтверждения.

Обратите внимание, что перед выполнением этой команды вам может потребоваться обновить кэш пакетов с помощью команды «sudo yum makecache fast». Это особенно важно, если вы недавно установили новую версию операционной системы или долго не обновляли систему.

Установка mod_evasive на CentOS 7

Несмотря на то, что CentOS 7 более не поддерживается, она еще используется и под нее существуют ветки, а также ISO образы. Поэтому инструкции для CentOS все еще актуальны.

Если вы размещаете веб-сайт или веб-приложение, вы, вероятно, уже сталкивались с DoS-атакой или атакой подбора паролей, Mod_Evasive — это модуль, который обеспечивает уклонение в случае HTTP-DoS (не DDoS) или атак подбора пароля. Он также разработан как средство обнаружения и может быть легко настроен для сопряжения с межсетевым экраном, маршрутизатором или даже электронной почтой в определенных обстоятельствах.

В этом руководстве мы собираемся включить модуль mod_evasive на Apache, и мы собираемся сделать это с помощью расширения Apache.

ПРИМЕЧАНИЕ: Если ваш Apache был скомпилирован из исходного кода, вы должны убедиться, что модуль «mod_so» также был скомпилирован в него. в противном случае вы не сможете добавлять сторонние модули в свой Apache. вы можете проверить свои включенные модули с помощью следующей команды:
apachectl -M | grep mod_so

Установка зависимостей

Поскольку мы собираемся собрать mod_evasive из исходного кода, нам потребуются следующие установленные пакеты:
yum install httpd-devel -y
yum groupinstall "Development Tools" -y

Скачивание и сборка mod_evasive

Перейдите в каталог opt, чтобы получить исходный код mod_evasive из Github:
cd /opt/
Выполните следующую команду, чтобы загрузить исходный код:
wget https://codeload.github.com/shivaas/mod_evasive/zip/master
Разархивируйте исходный код с помощью следующей команды:
unzip master
Теперь перейдите в каталог:
cd mod_evasive-master
В этом разделе мы собираемся использовать инструмент apxs, который является очень полезным инструментом для добавления динамических общих объектов в уже работающий Apache. поэтому выполните следующую команду, чтобы добавить модуль mod_evasive:
apxs -i -c -a mod_evasive24.c
Если вы все сделали правильно, вы не увидите никаких ошибок. Чтобы изменения вступили в силу, перезапустите службу Apache:
systemctl restart httpd
Вы можете проверить, что модуль mod_evasive запущен и работает, с помощью следующей команды:
apachectl -M | grep evasive
Вы должны увидеть результат, как показано ниже:
evasive24_module (shared)

Конфигурация mod_evasive

Вы можете добавить свою конфигурацию в файл httpd.conf:
nano /etc/httpd/conf/httpd.conf
Вы должны разместить конфигурацию, как в следующем примере:
<IfModule mod_evasive24.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
DOSEmailNotify <YOU@YOURMAIL.COM>
</IfModule>
Чтобы начать работу с конфигурацией и параметрами Mod_Evasive, вы можете прочитать файл README, расположенный в исходном каталоге:
cat /opt/mod_evasive/README.md
Вы можете посетить официальную страницу Mod_Evasive на Github, чтобы получить дополнительную информацию и новости!

Как конвертировать CentOS 8 в AlmaLinux 8

ОС Alma Linux — это операционная система Linux с открытым исходным кодом, управляемая сообществом, которая заполняет пробел, оставшийся после прекращения выпуска стабильной версии CentOS Linux. ОС Alma Linux — это двоичная совместимая вилка 1:1 RHEL, управляемая и созданная сообществом.

Как автономная, полностью бесплатная ОС, ОС Alma Linux ежегодно спонсирует 1 млн долларов от CloudLinux Inc и поддерживает других спонсоров. Текущие усилия по развитию регулируются членами сообщества.

Фонд ОС Alma Linux является некоммерческой организацией, созданной в интересах сообщества ОС Alma Linux.

Конвертация CentOS в AlmaLinux производится всего в четыре шага и похож на конвертацию в CloudLinux.

Сперва скачаем скрипт для развертывания.
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
Теперь выполним его.
bash almalinux-deploy.sh
Теперь ждем пока пройдут тесты и установка ПО. В случае успеха окно будет выглядеть так.
Complete!
Run dnf distro-sync -y OK
Restoring of alternatives is done OK
Generating grub configuration file ...
done
All Secure Boot related packages which were released by not AlmaLinux are reinstalled OK

Migration to AlmaLinux is completed
Проверим релиз.
cat /etc/redhat-release
AlmaLinux release 8.4 (Electric Cheetah)
И наконец удостоверяемся что ядро было выбрано верно.
grubby --info DEFAULT | grep AlmaLinux
title="AlmaLinux (4.18.0-305.25.1.el8_4.x86_64) 8.4 (Electric Cheetah)"
Перезагрузите сервер.
reboot
На этом конвертация CentOS в AlmaLinux завершена.

Установка VMware Tools на CentOS

Что такое VMware Tools? Это такая фигнюшка в виде драйверов и утилит, без которых виртуальная машина VMware (сервер) не заработает. В отличие от тех же KVM и OpenVZ, а заодно и LXC.

Обновляем систему

yum update -y

Устанавливаем заголовочные файлы и инструменты сборки

yum install kernel-devel gcc dracut make perl -y

Монтируем источник

mkdir /media/cdrom && mount /dev/cdrom /media/cdrom

Копируем архив с CD

cp /media/cdrom/VMwareTools-*.tar.gz /tmp

Переходим в временную папку

cd /tmp

Распаковываем архив

tar -zxf VMwareTools-*.tar.gz

Идем в папку установки

cd vmware-tools-distrib/

Запускаем установку, нажимаем Enter если она что-то спросит

./vmware-install.pl --default --force-install

Проверяем статус

systemctl status vmware-tools

Удаляем временные файлы и размонтируем диск

cd ..
rm -rf vmware-* VMwareTools-*
umount -f /media/cdrom

Проверяем версию VMware Tools

vmware-toolbox-cmd -v

Скрипт сборки Python на CentOS

Сборка Python здесь описана так, как обычно она делается на проекте. Способ простой и чистый. Для Debian/Ubuntu команды установки будут несколько различаться. Утилиту wget на Debian/Ubuntu обычно ставить не нужно.

Например, нужно вместо
yum groupinstall "Development Tools" -y
написать для установки
apt-get install build-essential -y
Скрипт:
#!/bin/bash
yum groupinstall "Development Tools" -y
yum install wget -y
# последние версии змея смотрите на https://www.python.org/ftp/python/"
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xf Python-2.7.9.tgz
cd Python-2.7.9
# Конфигурируем
./configure
# делаем чистую сборку! Обычный make вам гору ошибок насобирает и не сделает ничего.
make clean
# Ставим змея
make install
# Уходим из папки и сносим лишнее с просмотром задачи
cd ..
rm -rfv Python-2.7.9 Python-2.7.9.tgz
# Идем собирать третий Питон, его НАСТОЯТЕЛЬНО РЕКОМЕНДУЕТСЯ брать последнюю версию. Тут это 3.9.6
wget https://www.python.org/ftp/python/3.9.6/Python-3.9.6.tgz
tar xf Python-3.9.6.tgz
cd Python-3.9.6
make clean
make install
cd ..
rm -rfv Python-3.9.6 Python-3.9.6.tgz

Установка CyberPanel на CentOS

CyberPanel — это панель управления, используемая для управления VPS и выделенными серверами. Она нацелена на продвинутых потребителей, а не на компьютерных экспертов, которые хотят использовать мощные серверы для размещения веб-сервисов с использованием графического интерфейса, а не командной строки базовой операционной системы. Это открытый исходный код по лицензии, то есть он бесплатный.

Установить CyberPanel довольно просто. Установка должна выполняться от имени пользователя root (sudo работать не будет). В качестве операционной системы мы возьмем CentOS 7.

Требования панели следующие.

Centos 7.x, Centos 8.x, Ubuntu 18.04, Ubuntu 20.04
Python 3.x
Оперативная память 1024 МБ или больше.
10 ГБ дискового пространства.

Free или Enterprise?

CyberPanel поставляется с двумя версиями: одна просто называется CyberPanel, а другая — CyberPanel Enterprise. CyberPanel поставляется с OpenLiteSpeed и полностью бесплатна для неограниченного количества доменов и рабочих процессов.

Однако CyberPanel Enterprise поставляется с LiteSpeed Web Server Enterprise, это бесплатно для 1 домена. Бесплатной версии CyberPanel для личного сайта и даже небольшого хостинга вам хватит с лихвой.

Установка CyberPanel

Ахтунг!! Установку лучше выполнять из консоли сервера, так как панель активирует правила фаерволла. В случае потери соединения панели сразу установится криво.

CyberPanel (с OpenLiteSpeed) вы можете установить с помощью одной команды.
sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)
Установка CyberPanel Enterprise
Перед запуском установки вам необходимо получить лицензию. Во время установки будет запрошен лицензионный ключ.

В терминале командной строки запустите сценарий установки как одну команду:
sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)

Доступ

После успешной установки вы можете получить доступ к CyberPanel, используя приведенные ниже данные (обязательно измените):
Адрес панели: https://<IP-адрес>:8090
Имя пользователя: admin
Пароль: 1234567

Установка определенной версии

После версии v1.9.4 или выше CyberPanel также позволяет установить или обновить до определенной версии. Подробности следующие:
wget https://raw.githubusercontent.com/usmannasir/cyberpanel/<имя ветки>/cyberpanel.sh
chmod +x cyberpanel.sh
./cyberpanel.sh
Замените <имя ветки> фактическим именем ветки из Github, схемы ветвления описаны ниже.

Бранчи

1. Stable -> стабильная ветка
2. vX.X.X-> vX.X.X стабильная ветка
3. vX.X.X-dev-> v.X.X.X ветка с разработкой

Все номера бранчей можно посмотреть тут.

Жизненный цикл разработки

vX.X.X-dev будет ветвью по умолчанию (главной). Все участники должны перейти на последнюю ветку vX.X.X-dev. После завершения разработки (которая считается стабильной) из ветки Dev будет создана новая стабильная ветка vX.X.X. Затем vX.X.X Stable будет объединен с веткой Stable. После этого будет создана новая ветка vX.X.X-dev, которая будет ветвью по умолчанию (главной). На этом этапе старая ветка dev будет удалена (для экономии места), и на старой стабильной ветке или ветке dev (если она не удалена) развитие не произойдет. Вся разработка будет происходить только в последней ветке разработки. Вы не должны создавать запросы на перенос для любых других веток, кроме последней ветки разработчика.

Ошибка 503 после установки

Если после установки CyberPanel вы получаете сообщение об ошибке 503, вы можете сделать одно из следующих действий.

1. Проверьте состояние LSCPD

systemctl status lscpd
Если LSCPD не запущен, запустите LSCPD, используя:
systemctl start lscpd

2. Настройте virtualenv вручную

source /usr/local/CyberCP/bin/activate
pip install --ignore-installed -r /usr/local/CyberCP/requirments.txt
deactivate
virtualenv --system-site-packages /usr/local/CyberCP
systemctl restart lscpd

3. Журналы установки

Если после этого у вас по-прежнему возникают проблемы, вы можете попытаться найти ошибки в журналах установки, они расположены по адресу:
/var/log/installLogs.txt
Журналы особенно актуальны тогда, когда вы запустили установку таки не из консоли сервера, а с помощью терминала SSH.

Обновление CyberPanel на последнюю версию

Выполните команду:
sh <(curl https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh || wget -O - https://raw.githubusercontent.com/usmannasir/cyberpanel/stable/preUpgrade.sh)

Обновление CyberPanel на специфическую версию

Выполните команду:
https://raw.githubusercontent.com/usmannasir/cyberpanel/<имя бранча>/cyberpanel_upgrade.sh
где <имя бранча>это версия панели цифрами, вроде такого: 1.8.7.

Установка FFMPEG на CentOS 7

FFMPEG — это основной мультимедийный фреймворк, способный декодировать, кодировать, перекодировать, mux, demux, передавать, фильтровать и воспроизводить различные аудио -и видеофайлы в различных форматах. FFMPEG-это очень быстрый конвертер видео и аудио, который также может извлекаться из источника аудио/видео в реальном времени. Он также может конвертировать между произвольными частотами дискретизации и изменять размер видео на лету с помощью высококачественного многофазного фильтра. Он поддерживается различными библиотечными файлами, такими как libavcodec, libavutil, libavformat, libavfilter, libavdevice, libswscale и libswresample.
  • libavcodec — аудио/видео кодек библиотека
  • libavutil — вспомогательная библиотека для помощи портативных мультимедийных программ
  • libavformat — библиотека, которая обеспечивает основу для мультиплексирования и мультиплексирование видео и аудио потоков и субтитров
  • libavfilter — библиотека, которая повышает универсальный аудио/видео фильтрации
  • libavdevice — библиотека, которая предоставляет рамки захвата и перевода многих распространенных мультимедийных устройств ввода/вывода рамок
  • libswscale — библиотека расширения оптимизированный масштабирования изображения и цветового пространства и преобразование формата пикселей операций
  • libswresample — библиотека, способствующая повторной дискретизации звука, повторной развертке и операциям преобразования форматов образцов
  • Короче говоря, это бесплатное программное обеспечение, доступное с библиотеками и программами для обработки мультимедийных данных. Он также может использоваться в качестве инструмента командной строки на PHP и других языках программирования для перекодирования мультимедийных файлов.
Здесь мы поговорим о способе, который для установки выбрал я. А именно, установка из репозитория RPM Fusion.

Включите репозиторий RPM Fusion

Это стороннее хранилище RPM, содержащее множество популярных пакетов, связанных с мультимедиа, для выпусков CentOS. Этот репозиторий работает только в том случае, если на сервере включен репозиторий EPEL.

Сначала убедитесь, что вы включили репозиторий EPEL. Чтобы включить репозиторий EPEL на сервере с CentOS 7, введите:
yum -y install epel-release
Теперь включите репозиторий RPM Fusion:
yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm -y
Убедитесь, что репозиторий RPM Fusion успешно установлен:
yum repolist
Установите пакеты разработки FFMPEG и FFMPEG
Чтобы установить FFMPEG и его пакеты разработки, введите:
yum -y install ffmpeg ffmpeg-devel

Проверьте FFMPEG

Проверьте установку ffmpeg, проверив версию FFMPEG.
ffmpeg
Вывод:
[root@crow ~]# ffmpeg
ffmpeg version 3.4.8 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-39)
configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro ' --extra-cflags=' ' --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-libdrm --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --disable-encoder=libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvidstab --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzvbi --enable-avfilter --enable-avresample --enable-libmodplug --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'
Теперь мы завершили установку ffmpeg.

Репозиторий City-Fan для Centos/Fedora/Rhel

Репозиторий:

[CityFan]
name=City Fan Repo
baseurl=http://www.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basearch/
enabled=1
gpgcheck=0
Как создать:
Создание файла
touch /etc/yum.repos.d/city-fan.repo
или если сразу вставлять текст
nano
nano /etc/yum.repos.d/city-fan.repo
vi
vi /etc/yum.repos.d/city-fan.repo
Просто вставьте репозиторий в файл, сохраните содержимое и закройте.

Через установку:

rpm
В этом случае репозиторий берется со страницы www.city-fan.org/ftp/contrib/yum-repo/.
Например на 2022 год.
rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-2-1.fc34.noarch.rpm

Особенности

Обратите внимание, что www.city-fan.org находится на жилой линии ADSL. Зеркало с более высокой пропускной способностью доступно в Университете Севильи.
Пожалуйста, обратите внимание, что представленные пакеты созданы и протестированы в текущей стабильной версии Fedora, и это полный объем тестирования. Они могут работать в вашей системе, а могут и не работать. Пакеты для других дистрибутивов, как правило, являются перестройками текущего исходного пакета Fedora в другом дистрибутиве и тестируются лишь минимально, если вообще тестируются.
Пакеты здесь, как правило, являются обратными портами к более старым дистрибутивам последних версий пакетов, как это можно найти в Fedora Rawhide. Все пакеты находятся в одном репозитории, поэтому, если вас интересует только определенный пакет или подмножество пакетов, будьте достаточно осторожны с настройкой диспетчера пакетов, чтобы убедиться, что вы не извлекаете ненужные пакеты. Многие пакеты обновляют пакеты из базового дистрибутива, что противоречит политике пакетов для многих репозиториев. Однако эти пакеты не должны нарушать основные функциональные возможности, такие как yum, несмотря на то, что вы могли бы прочитать в другом месте.

deltarpm в CentOS

Что же это за чудесная утилита, позволяющая сократить время загрузки пакетов?
Если вы что-то ставите или обновляете в CentOS, то можете увидеть такие строки.
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.
exim-4.94.2-1.el7.x86_64.rpm                                                                                                  | 1.5 MB  00:00:00
Running transaction check
Running transaction test
Transaction test succeeded
Утилиту applydeltarpm содержит в себе пакет deltarpm, о котором мы сейчас и поговорим.
Deltarpm пакеты — это разница между старой и новой версиями пакетов. Таким образом, вы ставите не полный пакет, а только изменения, что очень полезно, особенно для тех, у кого Интернет слабый.
Установка deltarpm проходит так.
yum install epel-release -y
yum install deltarpm -y
Репозиторий EPEL мы подключаем для того, чтобы все зависимости корректно подтянулись. Если EPEL уже стоит (например он установлен ISPManager'ом) то второй раз его ставить не надо.

Установка утилиты smartctl на CentOS

Пакет smartmontools содержит две служебные программы (smartctl и smartd) для управления и мониторинга систем хранения с помощью технологии самоконтроля, анализа и отчетности. Во многих случаях эти утилиты предоставляют предварительное предупреждение о деградации и сбое диска. Этот инструмент выполняет задачи SMART, такие как печать журналов самотестирования и ошибок SMART, включение и отключение автоматического тестирования SMART и запуск самотестирования устройства.
Для установки smartctl на сервере нужно установить репозиторий EPEL.
yum install epel-release -y
Шаги по установке Smartctl в CentOS:
Войдите на свой сервер через SSH как пользователь root.
Используйте команду yum для установки Smartctl.
yum install smartmontools -y
По завершении установки запустите службу Smartctl.
service smartd start 
chkconfig smartd on
Чтобы включить возможности SMART для диска, выполните команду ниже.
smartctl -s on /dev/sda
Чтобы отключить возможности SMART для диска, выполните команду ниже.
smartctl -s off /dev/sda
Чтобы отобразить подробности SMART-информации для диска, выполните команду ниже.
smartctl -a /dev/sda // для диска IDE
smartctl -a -d ata /dev/sda // для диска SATA

Последние версии пакетов на CentOS

Получаем пакеты с помощью репозиториев EPEL и City-Fan.

Подключаем EPEL и ставим редактор

yum install epel-release -y
Ставим nano — он нам нужен для редактирования.
yum install nano -y

Подключаем City-Fan с помощью отдельного файла

Создаем файл
nano /etc/yum.repos.d/city-fan.repo
Вставляем следующее содержимое
[CityFan]
name=City Fan Repo
baseurl=http://www.city-fan.org/ftp/contrib/yum-repo/rhel$releasever/$basearch/
enabled=1
gpgcheck=0
Очищаем кэш пакетов и обновляемся
yum clean all
yum update -y
На операционной системе CentOS 8 вместо yum будет dnf, так что соответственно пишем dnf install вместо yum install.

Как обновить MySQL 5.5 до 5.6/5.7 или MariaDB 5.5 до 10.x в Linux

Примечание: Обновление можно выполнить в интерфейсе командной строки с приведенными ниже инструкциями на свой страх и риск. Эта задача должна выполняться системным администратором или опытным человеком. Если вы к таковым не относитесь, лучше обновление самостоятельно не делать.
Чтобы узнать свой дистрибутив Linux, выполните:
cat /etc/*-release
Предупреждение: Прямое обновление с MySQL 5.1 до MySQL 5.6/5.7 приведет к нарушению структуры таблиц.
Настоятельно рекомендуется создать моментальный снимок сервера (полную резервную копию) перед обновлением. Выполните обновление MySQL на свой страх и риск.
Перед началом обновления MySQL остановите службу WatchDog, если она используется на сервере. Проверьте его состояние с помощью команды service watchdog status.
Примечание: MySQL не будет обновлен в операционных системах на базе CentOS/RHEL, если он был установлен из репозитория Webtatic Yum:
rpm -qa | grep -i mysql
mysql55w-server-5.5.57-1.w6.x86_64
Чтобы начать обновление MySQL/MariaDB, подключитесь к серверу через SSH от имени root/суперпользователя и следуйте инструкциям для вашей операционной системы:

CentOS 8

По умолчанию CentOS 8 поставляется с MariaDB 10.3.
Сохраняем все базы для того, чтобы не потерять их
mysqldump -uroot --verbose --all-databases --routines --triggers > /tmp/all-databases.sql
Останавливаем MariaDB
service mariadb stop
Удаляем дополнительные конфликтующие пакеты
yum remove mariadb-gssapi-server -y
На всякий случай копируем папку с базами
cp -v -a /var/lib/mysql/ /var/lib/mysql_backup
Настройка репозитория MariaDB: откройте страницу Настройка репозиториев MariaDB, выберите дистрибутив ОС, выпуск и желаемую версию MariaDB. После этого конфигурация, которая должна быть добавлена в /etc/yum.repos.d/MariaDB.repo появится в файле.
Пример для MariaDB 10.4:
Откройте/создайте файл MariaDB.repo в любом текстовом редакторе. В этом примере мы используем редактор vi:
vi /etc/yum.repos.d/MariaDB.repo
Добавьте в файл содержимое, приведенное ниже:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos8-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
priority=1
module_hotfixes=1
Элемент конфигурации module_hotfixes=1 — это обходной путь для того, что MariaDB иногда сообщает об ошибке dnf. См. MDEV-20673 для получения более подробной информации.
Сохраните изменения и закройте файл.
Сбрасываем кэш:
yum clean all
Начинаем обновление:
yum install -y MariaDB-server galera-4 MariaDB-client MariaDB-shared MariaDB-backup MariaDB-common
После завершения обновления перезапускаем MariaDB:
systemctl restart mariadb
Обновляем все базы:
mysql_upgrade -uroot
Рестартуем сервис
systemctl restart mariadb
Восстанавливаем selinux (если selinux отключен — делать не надо)
restorecon -v /var/lib/mysql/*