Как отключить репозиторий в CentOS?
Чтобы отключить один из подключенных репозиториев, достаточно в его конфигурационном файле указать .
После этого, нужно сбросить кэш в yum:
И пересоздать его заново:
Теперь при установке или обновлении пакетов, репозиторий remi-php73 использоваться не будет.
Если вы хотите, чтобы определенный репозиторий не использовался только при выполнении текущей команды обновления/установки пакета, можно отключить репозиторий в рамках выполнения запроса yum, например:
В этом примере мы отключили репозиторий EPEL и выполнили обновление пакетов в системе.
Вы можете временно отключить всех репозитории, кроме определенных. Например, чтобы установить обновления только для пакетов из репозитория MariaDB:
Для удаления репозиториев используется утилита yum-config-manager, которая входит в набор yum-utils.
Установите yum-utils:
Удалите репозиторий, например remi:
Для полного удаления репозиторий нужно удалить его конфигурационные файлы и обновить кэш yum.
Создание репозитория
Настроим свой репозиторий, в котором будут храниться установочные пакеты. Также настроим их автоматическую синхронизацию с репозиторием CentOS.
Устанавливаем необходимые утилиты для работы с локальным репозиторием:
yum install createrepo yum-utils
Создаем каталоги для репозитория:
mkdir -p /usr/share/nginx/html/repos/7/{os,updates}/x86_64
* в данном примере будет создан каталог /usr/share/nginx/html/repos/7, а внутри него каталоги os (стандартный репозиторий для установка пакетов) и updates (обновления), в каждой из которых каталог x86_64 (для систем x64 архитектуры x86).
Синхронизируем наш будущий репозиторий с источником пакетов, например, с зеркалом от Яндекса:
rsync -iavrt —delete —exclude=’repo*’ rsync://mirror.yandex.ru/centos/7/os/x86_64/ /usr/share/nginx/html/repos/7/os/x86_64/
… ждем …
После синхронизируем updates:
rsync -iavrt —delete —exclude=’repo*’ rsync://mirror.yandex.ru/centos/7/updates/x86_64/ /usr/share/nginx/html/repos/7/updates/x86_64/
Создаем репозитории:
createrepo -v /usr/share/nginx/html/repos/7/os/x86_64
createrepo -v /usr/share/nginx/html/repos/7/updates/x86_64
Настраиваем nginx:
vi /etc/nginx/conf.d/default.conf
…
location / {
root /usr/share/nginx/html;
index index.html index.htm;
autoindex on;
}
…
* в данном примере мы добавили autoindex on для удобства — это позволит просматривать содержимое репозитория в браузере.
Перезапускаем nginx:
systemctl restart nginx
Открываем браузер и переходим по адресу http://<IP-адрес сервера>/repos/7 — мы должны увидеть список os и updates. Походив по нему, мы найдем список скачанных пакетов.
Обновление версий PHP от Remi
Схема обновления универсальна и подойдет как для всех версий CentOS. В примере ниже расмотрен вариант обновления для версии 7.
Обновление состоит из нескольких действий:
- Остановка php-fpm,
- Вывод и удаление всех имеющихся пакетов php,
- Удаление старого и активирование нового репозитория требуемой версии php,
- Установка новой версии,
- Проверка настрое из старой версии,
- Запуск php-fpm и проверка сервиса.
Выполним обновление PHP до версии 7.3 в системе CentOS 7.
Останавливаем php-fpm командой:
systemctl stop php-fpm
Выводим список всех установленных пакетов php:
rpm -qa | grep php = вывод команды = php-json-7.2.16-1.el7.remi.x86_64 php-process-7.2.16-1.el7.remi.x86_64 php-odbc-7.2.16-1.el7.remi.x86_64 php-soap-7.2.16-1.el7.remi.x86_64 php-fpm-7.2.16-1.el7.remi.x86_64 php-xml-7.2.16-1.el7.remi.x86_64 php-xmlrpc-7.2.16-1.el7.remi.x86_64 php-pecl-memcache-3.0.9-0.9.20170802.e702b5f.el7.remi.7.2.x86_64 php-gd-7.2.16-1.el7.remi.x86_64 php-mbstring-7.2.16-1.el7.remi.x86_64 php-pdo-7.2.16-1.el7.remi.x86_64 php-pear-1.10.8-1.el7.remi.noarch php-snmp-7.2.16-1.el7.remi.x86_64 php-opcache-7.2.16-1.el7.remi.x86_64 php-ldap-7.2.16-1.el7.remi.x86_64 php-common-7.2.16-1.el7.remi.x86_64 php-cli-7.2.16-1.el7.remi.x86_64 php-7.2.16-1.el7.remi.x86_64 php-fedora-autoloader-1.0.0-1.el7.remi.noarch php-mysqlnd-7.2.16-1.el7.remi.x86_64 php-pecl-zip-1.15.4-1.el7.remi.7.2.x86_64 php-imap-7.2.16-1.el7.remi.x86_6
Произведём удаление всех выведенных пакетов необходимой командой:
yum remove php-json php-process php-odbc php-soap php-fpm php-xml php-xmlrpc php-pecl-memcache php-gd php-mbstring php-pdo php-pear php-snmp php-opcache php-ldap php-common php-cli php php-fedora-autoloader php-mysqlnd php-pecl-zip php-imap
Внимательно смотрим вывод команды при удалении! В выводе вы должны увидеть примерно такие строки:
Удалим старый репозиторий php7.2 и установим новый php7.3 выполнив команды:
yum-config-manager --disable remi-php72 yum-config-manager --enable remi-php73
Проверяем правильность установки нужного репозитория выполнив команду:
yum repolist = вывод части команды = Загружены модули: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.sale-dedic.com * epel: mirrors.colocall.net * extras: mirror.sale-dedic.com * remi: mirror.23media.de * remi-php73: mirror.23media.de * updates: centos-mirror.rbc.ru remi-php73 Remi's PHP 7.2 RPM repository for Enterprise Linux 7 - x86_64 362
Устанавливаем пакеты аналогичные удаленным:
yum install php-json php-process php-odbc php-soap php-fpm php-xml php-xmlrpc php-pecl-memcache php-gd php-mbstring php-pdo php-pear php-snmp php-opcache php-ldap php-common php-cli php php-fedora-autoloader php-mysqlnd php-pecl-zip php-imap
Обязательно смотрим версию и репозиторий откуда будут ставится пакеты.
Осталось проверить файлы что выдала команда при удалении старой версии php:
предупреждение: /etc/php-fpm.d/www.conf сохранен как /etc/php-fpm.d/www.conf.rpmsave предупреждение: /etc/php.ini сохранен как /etc/php.ini.rpmsave
В заключение, запустим сервис php-fpm и проверим статус:
systemctl start php-fpm systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled) Active: active (running) since Ср 2019-03-13 21:16:12 MSK; 7s ago Main PID: 1392 (php-fpm) Status: "Ready to handle connections" CGroup: /lxc/php7-lxc/system.slice/php-fpm.service ├─1392 php-fpm: master process (/etc/php-fpm.conf) ├─1393 php-fpm: pool www ├─1394 php-fpm: pool www ├─1395 php-fpm: pool www ├─1396 php-fpm: pool www └─1397 php-fpm: pool www мар 13 21:16:11 php7-lxc-lemp.sevo44.loc systemd: Starting The PHP FastCGI Process Manager... мар 13 21:16:12 php7-lxc-lemp.sevo44.loc systemd: Started The PHP FastCGI Process Manager.
Из вывода видно что сервис не стартует при загрузке. Добавим сервис в автозагрузку выполнив команду:
systemctl enable php-fpm
Create Local YUM Repository with DVD
Create Source
Mount the CD/DVD ROM on any directory of your wish. For testing, mount it on /cdrom.
mkdir /cdrom mount /dev/cdrom /cdrom
Create Repo file
Before creating a repo file, move your existing repo files present in /etc/yum.repos.d directory, if not required.
mv /etc/yum.repos.d/*.repo /tmp/
Create the new repo file called cdrom.repo under /etc/repos.d directory.
vi /etc/yum.repos.d/local.repo
Add the following details.
name=LocalRepository baseurl=file:///cdrom enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Where,
= Repository Name which will be displayed during package installation
name = Name of the repository
baseurl = Location of the package
Enabled = Enable repository
gpgcheck = Enable secure installation
gpgkey = Location of the key
gpgcheck is optional (If you set gpgcheck=0, there is no need to mention gpgkey)
Install Package from Local DVD YUM repository
Clear the repository cache by issuing the following command.
yum clean all
Let’s install the vsftpd package from the local repository.
yum install vsftpd
The output will be like below; it will try to cache the package information. When you give yes to download the package, it will prompt you to accept gpg signing key.
Loaded plugins: fastestmirror LocalRepo | 3.6 kB 00:00 (1/2): LocalRepo/group_gz | 157 kB 00:00 (2/2): LocalRepo/primary_db | 2.7 MB 00:00 Determining fastest mirrors Resolving Dependencies --> Running transaction check ---> Package vsftpd.x86_64 0:3.0.2-9.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: vsftpd x86_64 3.0.2-9.el7 LocalRepo 165 k Transaction Summary ================================================================================ Install 1 Package Total download size: 165 k Installed size: 343 k Is this ok [y/d/N]: y Downloading packages: warning: /cdrom/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Public key for vsftpd-3.0.2-9.el7.x86_64.rpm is not installed Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>" Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 Package : centos-release-7-0.1406.el7.centos.2.3.x86_64 (@anaconda) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 Is this ok [y/N]: y Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : vsftpd-3.0.2-9.el7.x86_64 1/1 Verifying : vsftpd-3.0.2-9.el7.x86_64 1/1 Installed: vsftpd.x86_64 0:3.0.2-9.el7 Complete!</security@centos.org>
Репозитории CentOS 7
Настройка репозиториев CentOS может выполняться ручным редактированием конфигурационных файлов, но более популярен вариант с установкой файла репозитория. Установка репозиториев CentOS 7 выполняется путем установки rpm файла. Так принято для всех репозиториев. Чтобы посмотреть список репозиториев CentOS 7 подключенных к системе, выполните:
А теперь рассмотрим это более подробно, в списке репозиториев.
1. SСL
SСL или Software Collections – это репозиторий от Red Hat, содержащий новые версии пакетов и программного обеспечения. Файл его установщика есть в официальном репозитории, поэтому для установки достаточно набрать:
sudo yum install centos-release-scl
После этого вы можете выполнить поиск нужных пакетов:
sudo yum search php7
И сразу их установить:
sudo yum install rh-php70
Кроме того, вы можете устанавливать пакеты из этого репозитория так, чтобы они не заменяли уже установленные версии программ. Для этого используйте скрипт scl:
scl enable rh-php70 bash
Для работы такого метода нужно установить все необходимые компоненты, например, если нужен еще и MySQL и Python, то их тоже нужно установить. Также понадобится исправить файлы конфигурации Apache.
Пакеты, установленные с помощью scl, не будут активны после перезагрузки. Этот инструмент предназначен для установки нескольких версий пакетов в вашей систему. Вы можете настроить автоматическое включение пакетов, добавив команды enable в скрипт .bashrc. Все файлы устанавливаются в /opt/ поэтому для автоматической загрузки php добавьте такую строчку:
Команда изменит переменные окружения таким образом, чтобы использовалась эта версия программы. Чтобы посмотреть все доступные пакеты в репозитории нужно использовать такую сложную конструкцию:
sudo yum –disablerepo «*» –enablerepo centos-sclo-rh list available | less
Это необходимо, потому что отдельной опции чтобы вывести список пакетов определенного репозитория в yum нет.
2. EPEL
EPEL или Extra Packages for Enterprise Linux – это репозиторий дополнительных пакетов для Red Hat, поддерживаемый командой проекта Fedora. Здесь есть новые версии программ, а также некоторые другие программы, которых нет в официальных репозиториях. Чтобы добавить репозиторий CentOS 7 выполните:
sudo yum install epel-release
Затем вы можете посмотреть список пакетов:
sudo yum –disablerepo «*» –enablerepo epel list available | less
3. Remi Collet
Remi Collet содержит тоже большое количество обновленных пакетов для CentOS от проекта Remi RPM. Этот репозиторий зависит от EPEL. Заметьте, что пакеты из этого репозитория имеют такие же имена, как и в официальных, поэтому это может вызвать нежелательное обновление, так что будьте осторожны.
Для установки необходимо скачать rpm пакет. Выполните:
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm $ sudo rpm -Uvh remi-release-7*.rpm
4. IUS
Репозиторий IUS – это официальный репозиторий с новыми версиями пакетов от Red Hat. Здесь уже имена пакетов отличаются от используемых в репозитории по умолчанию от CentOS, поэтому проблем с обновлением не возникнет. Чтобы установить репозиторий CentOS 7 выполните:
wget https://centos7.iuscommunity.org/ius-release.rpm $ sudo rpm -Uvh ius-release*.rpm
5. nux-dextop
Есть и репозитории, которые будут полезны, тем, кто хочет использовать CentOS в качестве домашней системы. Этот репозиторий содержит различное дополнительное программное обеспечение, видео кодеки, плееры и так далее. Для его установки выполните:
wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm $ sudo yum install -y nux-dextop*
Что такое репозиторий в Linux?
Если нам не нужно самостоятельно скачивать дистрибутивы программ с интернета, то как тогда они попадают на компьютер?
И чтобы сразу внести ясность, на компьютерах пакеты программ не хранятся, менеджер скачивает их автоматически во время установки.
А откуда тогда менеджер скачивает все эти пакеты? А скачивает он их со специальных серверов в интернете (поэтому для установки программ в Linux требуется интернет), которые называются – репозиториями.
Практически у каждого дистрибутива Linux есть свой репозиторий, который содержит только совместимые и поддерживаемые конкретным дистрибутивом пакеты, соответственно, при установке приложений из официальных репозиториев Вы всегда устанавливаете только проверенные и стабильные версии программ.
Официальный репозиторий дистрибутива по умолчанию подключен, и когда Вы пытаетесь найти и установить программу, «Менеджер приложений» считывает информацию о доступных пакетах в репозитории и выдает ее Вам.
Таким образом, когда открываете менеджер приложений, он обращается к репозитоирию, узнает, какие пакеты есть, и выдает этот список Вам, а Вы, соответственно, выбираете и нажимаете кнопку установить, а все остальное делает менеджер.
Существуют, конечно, и нюансы при работе с таким подходом установки программ, например, что программа, которая Вас интересует, должна находиться в репозиториях конкретного дистрибутива Linux, который установлен на компьютере, в противном случае ее придётся искать в интернете, иными словами, делать ровно то же самое, что и в Windows. Однако популярные дистрибутивы Linux содержат в своих стандартных репозиториях тысячи программ на любой вкус, которые могут удовлетворить потребности даже продвинутого пользователя Linux, не говоря уж о начинающем.
Послесловие
Я понимаю, что без практики воспринять всё это с налёта довольно сложно, но делать нечего — это самые начальные и базовые теоретические сведения, с которыми каждый пользователь должен быть знаком хотя бы как-то, дабы иметь представление, что к чему и почему, а не слепо тыкаться в кнопки и читать незнакомые термины.
В следующих статьях мы рассмотрим, что именно из себя представляет установка пакетов в Linux, как в этой операционке устроена файловая система, что подразумевается под пользователем (и кто такой суперпользователь, он же root), а так же поговорим о программах и кой о чем другом. Оставайтесь с нами.
P.S. За существование данной статьи спасибо члену команды Pantera
Управление репозиториями в CentOS
Управление пакетами и репозиториями осуществляет утилита YUM (Yellowdog Updater, Modified) — менеджер RPM-пакетов, использующийся в дистрибутивах: RHEL, SentOS, Scientific Linux. В его задачи входит: поиск, установка, удаление пакетов, обновление системы.
Процесс установки пакетов происходит после выполнения команды — yum install packagename. После ввода команды менеджер пакетов проверяет наличие конфигурационных файлов «*.repo», эти файлы содержат информацию о репозиториях и хранятся в директории /etc/yum.repos.d. Во время проверки YUM получает всю необходимую информацию, указывающую откуда загружать пакет и какие зависимости имеют к нему отношение. После чего происходит установка пакета.
Конфигурационные файлы репозиториев содержат следующие параметры:
- name — имя репозитория, может быть любым.
- baseurl — ссылка указывающая на репозиторий. Может быть вида: ftp://link, http://link, https://link, если репозиторий размещен в сети интернет, или file://path, если репозиторий размещен локально.
- enabled — указывает на активацию репозитория при выполнении обновления. Может иметь следующие значения, 1 — если подключен, 0 — если отключен.
- gpgcheck — включить или выключить проверку сигнатуры GPG. Может иметь следующие значения, 1 — проверять, 0- не проверять.
- gpgkey — ссылка на ключ GPG.
- exclude — список исключаемых пакетов.
- includepkgs — список включаемых пакетов.
- mirrorlist — вместо ссылки на конкретный адрес репозитория, может использоваться ссылка на список адресов из которых будет выбран нужный адрес.
Подключение репозиториев в CentOS
Добавить репозиторий в CentOS можно несколькими способами. Можно создать файл «.repo» в директории /etc/yum.repos.d или установить rpm-пакет с информацией о репозитории. Если rpm-пакет отсутствует, то добавлять приходится ручками, создавая конф. файл репозитория.
Для просмотра списка активных репозиториев выполняют команду — yum repolist
yum repolist # Выхлоп: repo id repo name status base/7/x86_64 CentOS-7 - Base 9,007 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 10,580 extras/7/x86_64 CentOS-7 - Extras 390 updates/7/x86_64 CentOS-7 - Updates 2,469 repolist: 22,446 # repo id - id репозитория # repo name - имя репозитория # status - количество пакетов
Удаление репозиториев в CentOS
Для удаления репозиториев в системе должен быть установлен пакет yum-utils.
yum install yum-utils -y
Допустим мы хотим удалить из системы репозитории REMI и ELRepo, для этого надо узнать «repo id» при помощи команды yum repolist.
yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.yandex.ru * elrepo: elrepo.0m3n.net * epel: mirror.23media.de * extras: mirror.yandex.ru * remi-safe: mirror.23media.de * updates: mirror.yandex.ru repo id repo name status base/7/x86_64 CentOS-7 - Base 9,007 elrepo ELRepo.org Community Enterprise Linux Repository - el7 162 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 10,580 extras/7/x86_64 CentOS-7 - Extras 390 remi-safe Safe Remi's RPM repository for Enterprise Linux 7 - x86_64 1,144 updates/7/x86_64 CentOS-7 - Updates 2,469 repolist: 23,752
Удалим указанные репозитории.
yum-config-manager --disable remi-safe --disable elrepo
Команда скорее отключает указанные репозитории, чем удаляет их. Она выставляет значение параметра enabled равным 0. Файлы репозиториев «.repo» останутся на месте. Если выполнить команду yum repolist, то репозитории будут недоступны.
yum repolist Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.yandex.ru * epel: fedora-mirror01.rbc.ru * extras: mirror.yandex.ru * updates: mirror.yandex.ru repo id repo name status base/7/x86_64 CentOS-7 - Base 9,007 epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 10,580 extras/7/x86_64 CentOS-7 - Extras 390 updates/7/x86_64 CentOS-7 - Updates 2,469 repolist: 22,446
Теперь нужно обновить кэш YUM.
yum clean all yum makecache
Для полного удаления репозиториев следует удалить их конфигурационные файлы.
# Переходим в каталог /etc/yum.repos.d cd /etc/yum.repos.d # Удаляем файлы rm -f elrepo.repo remi-php70.repo remi-php71.repo remi-safe.repo remi.repo
Yum: установка, обновление и удаление пакетов
С чего начать? Пожалуй, как и в любых других случаях, начинаем со справки:
– полная справка по менеджеру пакетов yum
Открыв ее, я выделю основные команды:
– очистить кеш всех пакетов (обчычно используется при возникновении проблем при работе yum). – пересоздать кеш пакетов заново. – отобразить список подключенных репозиториев, вывод выглядит так:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.fasthost.ru * extras: mirror.fasthost.ru * updates: mirror.fasthost.ru repo id repo name status base/7/x86_64 CentOS-7 - Base 10,019 extras/7/x86_64 CentOS-7 - Extras 435 updates/7/x86_64 CentOS-7 - Updates 2,500 repolist: 12,954
У меня в системе установлены только стандартные репозитории CentOS-7: Base, Extras и Updates.
– вывести список всех доступных пакетов для установки.
– список всех пакетов, которые установлены в системе.
– вывести список пакетов, которые относятся к ядру Linux.
Вы можете проверить установлен ли в вашей системе определенный пакет, например, apache:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirror.fasthost.ru * extras: mirror.fasthost.ru * updates: mirror.fasthost.ru Installed Packages httpd.x86_64 2.4.6-89.el7.centos.1 @updates
Вы можете получить более подробную информацию о пакете, например, получим данные о пакете MariaDB:
Чтобы установить пакет используется команда yum install. Для установки веб-сервера apache выполните:
Если при выплнении команд yum вы получаете ошибку , скорее всего у вас не хватает оперативной памяти. Попробуйте добавить RAM или отключите плагины yum (в /etc/yum.conf укажите plugins=0).
Перед установкой пакета можно проверить его на зависимости и необходимые пакеты с помощью команды:
Если вы хотите установить какой-то пакет, но забыли его полное название, можно воспользоваться подстановочным символом *. Например:
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.fasthost.ru * extras: centos.fasthost.ru * updates: centos.fasthost.ru Resolving Dependencies --> Running transaction check ---> Package epel-release.noarch 0:7-11 will be installed --> Finished Dependency Resolution Install 1 Package Total download size: 15 k Installed size: 24 k Is this ok [y/d/N]:
Если ввести просто:
No package epel available. Error: Nothing to do
Увы, пакета не видно.
Yum позволяет установить сразу несколько пакетов:
Переустановка пакета:
Чтобы удалить установленный пакет с помощью yum используется параметр :
Но перед удалением любого пакета, рекомендуется сначала проверить его на зависимости (бывают пакеты, удаление которых влечет за собой удаление множества других пакетов, что в следствии приводит к неработоспособности системы):
Backup Linux системы sbackup
SBackup (Simple Backup Suite) — спокойное решение для резервного копирования. Это решение для рабочего стола Gnome, где пользователи могут заполучить доступ ко всей конфигурации через интерфейс Gnome. Пользователи могут использовать постоянное выражение для указания путей файлов и каталогов в процессе резервного копирования. Программа дополнительного копирования Simple Backup Suite (sbackup) рассчитана для рабочего стола Gnome. В ассоциации с прошедшим праздником Дня защитника Отечества, с которым я и поздравляю читателей блога, хочется говорить о безопасности.
Фундаментом надёжной обороны является резервное копирование, позволяющее даже в варианте успешных действий потенциального противника (будь то авария железа или деструктивные последствия вмешательства неискусных рук) вернуть систему в работоспособное состояние, а, главное, восстановить пользовательские данные. Среди специальных возможностей стоит выделить: возможность создавать сжатые и несжатые копии; поддерживаются контурные профили резервного копирования; возможность регистрации и уведомлений по почте; возможность запланировать резервное копирования и случать копирование вручную; разделение несжатых копий на пару частей; поддерживается локальное и далёкое резервное копирования.
Куда пойти, куда податься?
1. CentOS Stream
CentOS Streamкритический характер
- Подключаем репозиторий CentOS Stream
# dnf install centos-release-stream
- Указываем новый репозиторий в качестве дефолтного
# dnf swap centos-{linux,stream}-repos
- Синхронизируем установленные пакеты
# dnf distro-sync
2. Oracle Linux
Oracle Linuxудобный скрипт
- Скрипт обрабатывает только основные репозитории операционной системы. Подключение внешних репозиториев вроде EPEL для получения обновлений ранее установленных пакетов придется производить вручную;
- Совместимость с пакетами, полученными из сторонних репозиториев, не гарантируется. В частности, Oracle указывает на возможные конфликты, вызванные наличием файла /etc/oracle-release;
- После миграции могут перестать работать пакеты, использующие сторонние модули ядра и/или модули ядра с закрытым исходным кодом (к таковым относятся, например, коммерческие антивирусные приложения);
- Скрипт не поддерживает системы, в которых используются сторонние инструменты централизованного управления наподобие Foreman, Spacewalk или Uyni.
- Дистрибутив полностью бесплатен и может использоваться в коммерческих проектах без каких-либо ограничений или дополнительного лицензирования;
- Бесплатная и коммерческая версии Oracle Linux отличаются друг от друга только наличием технической поддержки от специалистов корпорации, сами же дистрибутивы полностью идентичны и используют единый репозиторий, одновременно получая все выходящие обновления;
- Изменения в ядре Unbreakable Enterprise Kernel публикуются в Git-репозитории с разделением на отдельные патчи и детализацией внесенных изменений, что повышает прозрачность и предсказуемость поведения системы при ее обновлении;
- Oracle Linux поддерживает высокопроизводительную сетевую файловую систему Oracle Cluster File System 2 (OCFS2), позволяющую создавать разделяемые хранилища, используемые одновременно несколькими Linux-системами, что делает Oracle Linux весьма удобной для построения масштабируемых веб-серверов, кластерных баз данных, виртуализации и других аналогичных сценариев.
акции Red Hat упали на 28%«Данный поступок является вынужденной реакцией на участившиеся случаи недобросовестной конкуренции со стороны предприятий, стремящихся выстроить собственных бизнес на основе простого копирования RHEL».доступ ко всем обновлениям
пропажи Лэнса Дэвисамногомесячные перерывы
4. Rocky Linux
Rocky Linux
- Разработку Rocky Linux возглавляет компания Ctrl IQ — стартап основателя CentOS Грегори Курцера;
- Компания заручилась поддержкой инвесторов в лице венчурного фонда IAG Capital Partners и одного из крупнейших поставщиков гипермасштабируемых систем хранения данных OpenDrives, по итогам переговоров с которыми на разработку операционной системы удалось привлечь $4 млн;
- В число ключевых спонсоров проекта входят корпорация Amazon, предоставившая команде Ctrl IQ необходимые для разработки и сборки дистрибутива вычислительные мощности в облаке AWS, и MontaVista Software, имеющая более, чем 20-летний опыт разработки программного обеспечения с открытым исходным кодом, ориентированного на нужды корпоративных клиентов.
Warewulf30 апреля 2021 годаоблачные серверы
Репозитории в CentOS
Для начала давайте поясним, что такое репозитории и для чего они нужны. Вот что говорит wikipedia на этот счет:
Некоторое время назад Linux приложения выходили в виде исходного кода, который потом компилировали на сервере и получали готовые программы. На сегодняшний день большинство приложений выходят в виде так называемых пакетов. Это уже собранные приложения, которые можно сразу установить и пользоваться.
В нашем случае репозиторий — хранилище пакетов для операционной системы CentOS. Существуют repository от разработчика системы, их называют официальные. Набор rpm пакетов там обычно ограничен и версии не самые свежие. Для установки дополнительного софта используют сторонние репозитории. Их поддерживать могут как другие компании, так и группы энтузиастов.
Управлением пакетами и репозиториями в CentOS занимается утилита yum. Ее конфигурационный файл находится в /etc/yum.conf. Этот файл содержит секцию , в которой указываются глобальные настройки программы. Так же он может содержать одну или несколько секций , в которой хранятся настройки репозиториев. Тем не менее, рекомендуется информацию о репозиториях хранить в каталоге /etc/yum.repos.d/ в специальных файлах .repo.
Минимальное содержание файла .repo следующее:
name=repository_name baseurl=repository_url
name | имя, описывающее репозиторий, может быть любым |
baseurl | ссылка на расположение репозитория, может быть в виде http, ftp или file ссылки |
Другие ползные параметры, которые могут быть указаны в repo файле:
enabled | принимает значение 1 или 0, 1 — репозиторий подключен, 0 — отключен |
async | управляет загрузкой пакетов, auto — использует при возможности параллельную загрузку, on — использует только параллельную загрузку, off — параллельная загрузка отключена |
mirrorlist | вместо ссылки на конкретный адрес репозитория может быть указана ссылка на список адресов, из которых при установке будет выбран наиболее подходящий |
gpgcheck | принимает значение 1 или 0, 1- осуществлять проверку GPG подписи пакета из репозитория, 0 — не проверять |
gpgkey | ссылка на GPG ключ репозитория |
Вот содержание стандартного файла с репозиториями CentOS /etc/yum.repos.d/CentOS-Base.repo:
name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #released updates name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that may be useful name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 #additional packages that extend functionality of existing packages name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7