Yandex mirror для CentOS
mirror.yandex.ru — сайт компании Яндекс, зеркало репозитариев популярных дистрибутивов Linux, FreeBSD и других проектов, в том числе CentOS. Работает по протоколам HTTP, FTP и rsync.
На зеркале CentOS можно скачать дистрибутивы всех актуальных на текущий момент версий, а это версии 5, 6 и 7. Зеркало можно использовать в качестве источников стандартных репозиториев системы — base, updates, extras, centosplus.
Можно использовать, что я неоднократно делал, yandex mirror для сетевой установки CentOS. Путь к установочному образу: http://mirror.yandex.ru/centos/7/os/x86_64/images/
Напоминаю, что данная статья является частью единого цикла статьей про сервер Centos.
Red Hat Enterprise Linux — это дистрибутив корпоративного уровня, который продолжает поддерживать старое программное обеспечение, которое давно уже должно было быть забыто. Они делают это не из-за нежелания обновлять систему, а потому что так нужно клиентам. Основная концепция — вы получаете систему и можете пользоваться ей без необходимости обновления версии так долго, сколько захотите.
CentOS основана на Red Hat и ведет себя точно так же. Обновления сосредоточены больше на исправлении уязвимостей в системе, чем на поставлении новых версий программ. Но это не очень подходит, если вы разрабатываете программное обеспечение, требующее более новых версий системных компонентов. Например, если вам нужно PHP 7.0, то получить его будет довольно сложно
В репозиториях, на данный момент есть только PHP 5.4, к тому же очень важно, чтобы программа была совместима с другими компонентами стека, например, веб-сервером
Но что делать, если вам действительно нужно это программное обеспечение? Есть решение. Кроме официальных репозиториев, существуют сторонние репозитории CentOS 7, которые вы можете установить для получения новых версий программ. В этой статье мы рассмотрим самые популярные сторонние репозитории CentOS 7, а также как их устанавливать.
Securing MariaDB
This open-source database management system does not have secure settings by default. To ensure your data is safe, run its installation script to configure the security options.
1. Start by typing the following command to initiate running the security script:
2. Next, you will be presented with the following options:
- Set root password? [Y/n] – type y (for yes) and hit Enter create a root password for your database
- Remove anonymous users? [Y/n] – type y and hit Enter
- Disallow root login remotely? [Y/n] – type y and hit Enter
- Remove test database and access to it? [Y/n] – type y and hit Enter
- Reload privilege tables now? [Y/n] – type y and hit Enter
The output informs you that the MariaDB installation is now secure:
Read our article on How to Create a MariaDB User and Grant Privileges.
Информация о действующих параметрах
Для просмотра всех возможных параметров и настойках по умолчанию можно посмотреть выполнив команду:
mysqld --verbose --help = часть вывода команды с пояснениями = !!! в консоли у меня не показывается первая часть вывода и как её увидеть я сказу ниже!!! = в верхней части вы увидите где находится файл настойки = mysqld Ver 10.3.12-MariaDB-log for Linux on x86_64 (MariaDB Server) Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Starts the MariaDB database server. Usage: mysqld Default options are read from the following files in the given order: /etc/my.cnf ~/.my.cnf = в этой части увидите вывод всех возможных параметров = --thread-handling=name Define threads usage for handling queries. One of: one-thread-per-connection, no-threads, pool-of-threads --thread-pool-idle-timeout=# Timeout in seconds for an idle thread in the thread pool.Worker thread will be shut down after timeout --thread-pool-max-threads=# Maximum allowed number of worker threads in the thread pool = в этой части параметры которые используются по умолчанию = Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) ---------------------------------------------------------- --------------- allow-suspicious-udfs FALSE alter-algorithm DEFAULT aria ON aria-block-size 8192 aria-checkpoint-interval 30 aria-checkpoint-log-activity 1048576 aria-encrypt-tables FALSE aria-force-start-after-recovery-failures 0 aria-group-commit none aria-group-commit-interval 0 aria-log-dir-path /var/lib/mysql/ aria-log-file-size 1073741824 aria-log-purge-type immediate = в конце информация о том как посмотреть текущие параметры = To see what values a running MySQL server is using, type 'mysqladmin variables' instead of 'mysqld --verbose --help'. перевод Чтобы увидеть, какие значения использует работающий сервер MySQL, введите 'mysqladmin variables' вместо 'mysqld --verbose --help'.
Вся информация в консоли не покажется поэтому лучше вывод сделать в файл:
mysqld --verbose --help > mysqld--verbose--help.txt
Какие значения использует работающий сервер тоже лучше вывести в файл:
mysqladmin variables -u root -p > mysqladmin-variables.txt Enter password:
Разные релизы CentOS
В одном репозитории мы можем легко хранить пакеты для различных релизов операционной системы CentOS (и не только CentOS, но и PPA). Для этого создаем каталог под новый релиз, синхронизируем его с источником и создаем из него репозиторий, например:
mkdir -p /usr/share/nginx/html/repos/6//x86_64
* в данном примере предполагается использование репозитория для релиза 6.
rsync -iavrt —delete —exclude=’repo*’ rsync://mirror.yandex.ru/centos/6/os/x86_64/ /usr/share/nginx/html/repos/6/os/x86_64/
rsync -iavrt —delete —exclude=’repo*’ rsync://mirror.yandex.ru/centos/6/updates/x86_64/ /usr/share/nginx/html/repos/6/updates/x86_64/
createrepo -v /usr/share/nginx/html/repos/6/os/x86_64
createrepo -v /usr/share/nginx/html/repos/6/updates/x86_64
Установка MariaDB в Ubuntu Server 16.04
Переходим на страницу загрузки и выбираем дистрибутив ОС, ее версию, версию MariaDB и указываем предпочитаемое зеркало для скачивания.
После чего сайт создаст запись, которую нужно добавить в файл репозитория.
# Установка пакета управления репозиториями sudo apt-get install software-properties-common -y # Импорт и добавление ключа sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8 # Добавление репозитория в apt sudo add-apt-repository 'deb http://mirror.mephi.ru/mariadb/repo/10.1/ubuntu xenial main'
После импорта ключа и добавления репозитория, можно произвести установку.
sudo apt update && apt install mariadb-server -y
В процессе установки будет предложено задать пароль для root-пользователя MariaDB. Необходимо понимать что речь идет о пользователе СУБД MariaDB, а не о суперпользователе ОС. В MariaDB как и в MySQL, есть собственный root-пользователь и именно для него требуется задать пароль.
Можно создать отдельный файл репозитория. Чтобы сделать отдельный файл, после импорта ключа нужно создать файл в /etc/apt/sources.list.d.
# Установка пакета управления репозиториями sudo apt-get install software-properties-common -y # Импорт и добавление ключа sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
Создаем файл в директории /etc/apt/sources.list.d, назвать его можно как угодно, например — mariadb.list.
# Создаем файл nano /etc/apt/sources.list.d/mariadb.list # Добавляем в файл содержимое # MariaDB 10.1 repository list - created 2016-12-24 18:28 UTC # http://downloads.mariadb.org/mariadb/repositories/ deb http://mirror.mephi.ru/mariadb/repo/10.1/ubuntu xenial main deb-src http://mirror.mephi.ru/mariadb/repo/10.1/ubuntu xenial main
Проверяем обновления и устанавливаем MariaDB.
sudo apt update && apt install mariadb-server -y
Установите MariaDB 5.5 на CentOS 7
Версия сервера MariaDB, представленная в репозиториях CentOS по умолчанию, — 5.5. Это не последняя версия, но она достаточно стабильна.
Выполните следующие действия, чтобы установить и защитить MariaDB 5.5 на CentOS 7:
-
Установите пакет MariaDB с помощью диспетчера пакетов yum:
Нажмите когда будет предложено продолжить установку.
-
После завершения установки запустите службу MariaDB и включите ее запуск при загрузке, используя следующие команды:
-
Чтобы убедиться, что установка прошла успешно, проверьте статус службы MariaDB, набрав:
Вывод должен показать, что служба активна и работает:
-
Запустите сценарий который выполнит несколько задач, связанных с безопасностью:
Вам будет предложено установить пароль пользователя root, удалить учетные записи анонимных пользователей, ограничить доступ пользователя root к локальному компьютеру и удалить тестовую базу данных.
Шаги описаны подробно. На все вопросы рекомендуется отвечать (да).
Установка MariaDB 10 на CentOS 7
Эта статья «Установка MariaDB 10 на CentOS 7» покажет вам, как установить и настроить MariaDB 10 на CentOS 7. Как вы вероятно уже знаете, сервер базы данных MariaDB теперь по умолчанию на CentOS т.к из-за Oracle (MySQL материнская компания) и вопросов GPL лицензирования. MariaDB с открытым исходным кодом и сообщество постепенно отходит от MySQL и переходит на MariaDB.
Если вы не знаете историю, вот краткое резюме. До Oracle владеющий MySQL, она была основана на GPL (GNU General Public License), которая говорит, что вы можете использовать программное обеспечение бесплатно, но вы не можете изменять и продавать его, если вы не отдаете исходный код. Это означает, что вы можете использовать его в вашем проекте с закрытым исходным кодоме.
Когда Oracle изменила лицензионное соглашение от модели GPL, в основном в с открытым исходным кодом сообщества восстали и некоторые начали группу из MySQL и создали MariaDB.
Поэтому в основном, сервер базы данных MariaDB такой же как и MySQL, но с моделью лицензирования GPL.
Теперь, когда вы знаете немного больше о том, почему и как MariaDB была основана, давайте будем учиться, как установить ее на CentOS 7.
Установка MariaDB на CentOS 7
Теперь, MariaDB является сервер базы данных по умолчанию для CentOS, все что вам нужно сделать, это запустить следующие команды, чтобы установить ее.Проблема в том, что centos загружает и устанавливает более старую, но стабильную версию MariaDB.
Если вы хотите, чтобы установить последнюю версию MariaDB, необходимо добавить его репозиторий программного обеспечения на ваш компьютер и установить. Чтобы сделать это, выполните следующие команды, чтобы создать файл из хранилища.
$ sudo vim /etc/yum.repos.d/MariaDB.repo
Затем скопируйте и вставьте строки что ниже в файл и сохранить его.
name = MariaDB baseurl = http://yum.mariadb.org/10.0/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Наконец, выполните команды ниже, чтобы установить MariaDB 10 на ваш сервер:
$ sudo yum install MariaDB-server MariaDB-client
Если у вас возникли проблемы с ошибками и MariaDB не может быть установлена из-за конфликта с mariadb-libs-xxxx, выполните команду что ниже, чтобы удалить конфликтующие библиотеки, и после чего повторно запустите установку команды что выше:
$ sudo yum remove mariadb-libs*
Следует также удалить пакет Postfix. Повторно запустите команду что выше, чтобы установить MariaDB.
После завершения установки, выполните команду что ниже, чтобы запустить сервер с MariaDB:
$ sudo /etc/init.d/mysql start
Затем выполните следующую команду, чтобы защитить сервер базы данных.
$ sudo mysql_secure_installation
Затем выберите «Y» (Да) для остальных подсказок, пока вы не закончите.
Enter current password for root (enter for none): press Enter Set root password? Y New password: Type new root password Re-enter new password: Confirm the password Remove anonymous users? Y Disallow root login remotely? Y Remove test database and access to it? Y Reload privilege tables now? Y
Последнее, необходимо заменить cnf.ini файл по умолчанию в /etc/ для MariaDB. Но для начала нужно перейти в:
$ cd /usr/share/mysql
И использовать один из предопределенных cnf.ini конфигураций которые доступны (Huge, Medium и Small) в данной папке.
Сделаем резервное копирование cnf.ini файла:
$ sudo mv /etc/cnf.ini /etc/cnf.ini.bak
Затем скопируйте один из предварительных конфигураций в MariaDB:
$ sudo cp /usr/share/mysql/my-huge.cnf /etc/cnf.ini
Перезапуск MaraiDB:
$ systemctl restart mysql
Можно проверить статус:
$ systemctl status mariadb
Можно добавить MariaBD в автозагрузку ОС:
Мне нужно создать пользователя и чтобы он мог подключатся из любого компьютера, для этого:
$ mysql -uroot -u >GRANT ALL PRIVILEGES ON *.* TO 'captain'@'%' IDENTIFIED BY 'my_password' WITH GRANT OPTION; > exit
Проверим какой порт прослушивает MariaDB с помощью команды SS:
# ss -tnlp | grep 3306 LISTEN 0 0 127.0.0.1:3306 *:* users:(("mysqld",1159,14))
Мой выглядит вот так (я разрешил удаленное подключение к серверу БД):
LISTEN 0 50 *:3306 *:* users:(("mysqld",10884,13))
Установка MariaDB 10 на CentOS 7 завершена.
Обновление репозитория MariaDB YUM до нового мажорного релиза.
Репозиторий MariaDB может быть обновлен до новой основной версии. Как это будет сделано, зависит от того, как вы изначально настроили репозиторий.
Обновление основного релиза с помощью скрипта установки репозитория пакета MariaDB
Если вы настроили для установки из репозитория пакетов MariaDB Corporation MariaDB с помощью сценария установки репозитория пакетов MariaDB , то вы можете обновить основную версию, которую использует репозиторий, повторно запустив сценарий.
Обновление основного релиза с помощью инструмента настройки репозитория MariaDB
Если вы настроили для установки из репозитория MariaDB Foundation MariaDB с помощью инструмента настройки репозитория MariaDB , то вы можете обновить основную версию, которую использует репозиторий, обновив файл конфигурации репозитория на месте. Например, если вы хотите изменить репозиторий с MariaDB 10.2 на MariaDB 10.3 , и если файл конфигурации репозитория находится в , вы можете выполнить следующее:
sudo sed -i 's/10.2/10.3/' /etc/yum.repos.d/MariaDB.repo
После этого репозиторий должен ссылаться на MariaDB 10.3 .
Если репозиторий привязан к определенному второстепенному выпуску, то приведенная выше команда может привести к неверной конфигурации репозитория. В этом случае рекомендуются следующие варианты:
- Отредактируйте репозитория MariaDB.repo вручную.
- Или удалите репозитория MariaDB.repo , а затем установите репозиторий новой версии с более надежным скриптом установки репозитория пакетов MariaDB .
Yandex mirror для CentOS
mirror.yandex.ru — сайт компании Яндекс, зеркало репозитариев популярных дистрибутивов Linux, FreeBSD и других проектов, в том числе CentOS. Работает по протоколам HTTP, FTP и rsync.
На зеркале CentOS можно скачать дистрибутивы всех актуальных на текущий момент версий, а это версии 5, 6 и 7. Зеркало можно использовать в качестве источников стандартных репозиториев системы — base, updates, extras, centosplus.
Можно использовать, что я неоднократно делал, yandex mirror для сетевой установки CentOS. Путь к установочному образу: http://mirror.yandex.ru/centos/7/os/x86_64/images/
Устранение неполадок
Поведение некоторых команд
Вывод команды
1 |
service mysql status ERROR!MariaDB isnotrunning
|
1 |
ERROR!MariaDB isnotrunning |
При этом systemctl status mariadb.service
1 |
systemctl status mariadb.service ●mariadb.service-MariaDB10.2.22database server Loadedloaded(/usr/lib/systemd/system/mariadb.service;enabled;vendor presetdisabled) Drop-In/etc/systemd/system/mariadb.service.d └─migrated-from-my.cnf-settings.conf Activeactive(running)sinceСр2019-03-06175212MSK;18minago |
Ошибки в логе
1 |
WarningWSREPlast inactive check more than PT1.5Sago(PT3.50162S),skipping check NoteWSREPview((empty)) ERRORWSREPfailed toopen gcomm backend connection110failed toreach primary view mysqld6291at gcomm/src/pc.cppconnect()158 ERRORWSREPgcs/src/gcs_core.cppgcs_core_open()209Failed toopen backend connection ERRORWSREPgcs/src/gcs.cppgcs_open()1458Failed toopen channel’galera_cluster’at ERRORWSREPgcs connect failedConnection timed out ERRORWSREPwsrepconnect(gcomm//100.201.203.54,100.201.203.55) failed: 7 mysqld62912019-03-06134838140455129581760ERRORAborting systemd1mariadb.servicemain process exited,code=exited,status=1/FAILURE systemd1Failed tostart MariaDB10.2.22database server. |
то выполняем команду
1 |
sudo/usr/bin/galera_new_cluster
|
Если в процессе работы получили ошибку
1 |
ERRORWSREPfailed toopen gcomm backend connection131invalid UUID00000000(FATAL)at gcomm/src/pc.cppPC()271
|
Выполняем
1 |
mv/var/lib/mysql/grastate.dat/var/lib/mysql/grastate.dat.bak
|
И перезагружаем сервис:
1 |
systemctl restart mariadb.service
|
Репозитории 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*
Install MariaDB on CentOS 7 / RHEL 7
You can install the MariaDB package on CentOS 7 / RHEL 7 using two sources.
Install MariaDB from Official MariaDB Mirror
MariaDB foundation offers MariaDB packages for CentOS 7 / RHEL 7. Packages provided by the MariaDB community are always fresh and are supported by them.
Add MariaDB repository to the system that MariaDB offers for CentOS 7 / RHEL 7.
### CentOS 7 ### cat <<EOF >> /etc/yum.repos.d/mariadb.repo name = MariaDB baseurl = http://yum.mariadb.org/10.6/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF ### RHEL 7 ### cat <<EOF >> /etc/yum.repos.d/mariadb.repo name = MariaDB baseurl = http://yum.mariadb.org/10.6/rhel7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF
Install MariaDB server using the following command.
yum install -y MariaDB-server MariaDB-client
Install MariaDB from Base Repository
Installing MariaDB from the base OS repository is a straightforward way. But, the repository may have a bit old version of the MariaDB package.
yum -y install mariadb-server mariadb
Удалить репозиторий в CentOS
Для того, чтобы удалить репозиторий из системы, необходимо узнать его id с помощью команды yum repolist. Об этом я писал в предыдущем разделе. Затем с помощью утилиты yum-config-manager, которая входит в пакет yum-utils выполним удаление:
# yum-config-manager --disable remi-safe bash: yum-config-manager: command not found
Если получаете такую ошибку, то установите пакет yum-utils:
# yum -y install yum-utils
Удаление репозитория в centos:
# yum-config-manager --disable remi-safe
Теперь проверяем список активных репозиториев:
Удаленного репозитория remi-safe нет. Значит все в порядке, отключение репозитория прошло успешно.
Для того, чтобы обновить кэш yum после изменения репозиториев, можно воспользоваться следующими командами:
Очистить кеш:
# yum clean all
Пересоздать кеш:
# yum makecache