CentOS 7 netinstall
Установка Centos 7 с образа netinstall отличается от прочих только одним моментом. Во время подготовки к установке по сети в разделе INSTALLATION SOURCE вам вместо локального источника необходимо указать путь к образу, расположенному где-то в сети. Очевидно, что перед этим необходимо выполнить настройку сети и убедиться, что у компьютера есть доступ в интернет.
В качестве источника для установки я буду использовать упомянутое ранее . CentOS netinstall url — https://mirror.yandex.ru/centos/7/os/x86_64/
На скриншоте указан старый url. После череды обновлений он стал неактуален. Правильная ссылка выше в тексте.
Указываем путь и жмем Done. После проверки доступности источника, в разделе SOFTWARE SELECTION можно выбрать необходимый для установки набор софта:
Дальше можно начинать установку, указав все остальные параметры, которые мы рассмотрели выше.
Установка системы
Нажмите экранную кнопку «Начать установку». Вы найдете ее внизу справа.
Откроется окно конфигурации и стартует установка ОС, во время которой будут автоматически загружены необходимые пакеты, установлены и настроены компоненты. Она может продлится более получаса.
В нижней части экрана конфигурации — подсказка.
Создайте учетную запись администратора
Войдите в раздел «Root Password». Введите пароль, который будет использоваться администратором компьютера. Повторите ввод во втором поле. Нажмите кнопку «Готово».
Мастер установки CentOS может решить, что пароль ненадежен. В нижней части окна на оранжевом фоне будет написано, почему установщик не рекомендует использовать этот пароль. В таком случае, если вы уверены в своем решении, нужно нажать на кнопку «Готово» два раза.
Создайте учетную запись пользователя
Войдите в секцию «Создание пользователя». Укажите полное имя, имя пользователя и пароль учетной записи. Пароль нужно ввести повторно в дополнительное поле.
Что нужно знать о пользовательской учетной записи:
- Максимальная длина имени пользователя: 32 знака без пробела.
- У вас есть возможность сделать этого пользователя администратором.
- Выберите, нужно ли вводить пароль при входе в ОС.
В зависимости от требований мастера установки, для подтверждения изменений нажмите на кнопку «Готово». Щелкать по ней дважды необходимо, если установщик не считает пароль достаточно защитой учетной записи. При этом, вы все равно сможете использовать такой пароль, если посчитаете, что его достаточно.
Внизу появится сообщение о том, ОС успешно установлена. Щелкните по кнопке «Завершить настройку».
Часто задаваемые вопросы по теме статьи (FAQ)
Есть ли принципиальная разница, что использовать для синхронизации времени, ntp или chrony?
Мне отличия не известны. В общем случае, обе утилиты делают одно и то же. Формат конфигов у них тоже одинаковый. Конечно же, программы имеют отличия, но в общем случае, для типового сервера нет принципиальной разницы.
Нужно ли перезагружать сервер после изменения времени?
Я бы рекомендовал так делать. Если перезагрузиться совсем нельзя, я рекомендую вручную перезапустить основные сервисы. Не все могут автоматически корректно отработать внезапное изменение времени. Может начаться путаница в логах, особенно если время изменилось существенно (на несколько часов).
У меня никак не синхронизируется время на сервере. С чем это может быть связано?
Некоторые провайдеры блокируют порты, необходимые для синхронизации времени. Связано это с тем, что серверы времени могут быть использованы для организации ddos атак. Обычно в таком случае провайдер предоставляет адреса своих внутренних ntp серверов, с которых можно произвести синхронизацию. Так что если у вас никак не работает синхронизация времени на арендованном сервере, рекомендую написать вопрос в тех. поддержку и прояснить этот момент. Подробнее об этом рассказываю в отдельной статье.
Возможна ли одновременная работа chrony и ntpd?
Нет, это не возможно. Да и не имеет практического смысла. Обе эти программы проверяют при запуске, свободен ли udp порт 123 на сетевом интерфейсе. Если он занят другой программой, то запуск завершится с ошибкой.
Как лучше сделать — синхронизировать время всех серверов с внешним источником или настроить сервер времени внутри своей локальной сети?
В общем случае лучше настроить у себя в локальной сети сервер времени и синхронизироваться с него. Так у вас гарантированно у всех серверов будет одинаковое время, даже если по какой-то причине сам сервер времени не будет синхронизироваться с внешним источником. Это лучше, нежели разное время на всех серверах.
Отмена обновления php 5.6 и возврат на php 5.4
Тут все просто. Удаляем php56:
yum remove php php-common php-bcmath php-devel php-fpm php-gd php-ldap php-mbstring php-mcrypt php-mysql php-odbc php-pdo php-pear php-pecl-memcache php-php-gettext php-process php-snmp php-soap php-tcpdf php-tcpdf-dejavu-sans-fonts php-tidy php-xml php-xmlrpc php-pecl-apcu
И ставим php54:
yum install php php-common php-bcmath php-devel php-fpm php-gd php-ldap php-mbstring php-mcrypt php-mysql php-odbc php-pdo php-pear php-pecl-memcache php-php-gettext php-process php-snmp php-soap php-tcpdf php-tcpdf-dejavu-sans-fonts php-tidy php-xml php-xmlrpc phpMyAdmin
Подключаем и как описано в моей статье и проводим тесты. Убеждаемся, что производительность вернулась на прежний уровень.
Upgrade CentOS to Latest Version: 6 Easy Steps
Step 1: Check current CentOS version
Check the version of your current release with the command:
The system should display the CentOS Linux release version. Make sure the first number is at least 7.x.x.
Read this, for a full tutorial on how to check CentOS version.
Step 2: Verify data and backups
Backing up important server data should be done before running a operating system upgrade. Take a moment to verify your system backups.
Step 3: Check for available updates
Check available CentOS updates with the command:
The system will display a list of available updates, including the core operating system updates. Scan through these to make sure everything is in order.
A good habit is to scan for software that you’ve specifically configured or installed. If you see a familiar package listed, it can indicate that there are updates or changes you’ll want to be aware of. You can research the upgrades to software packages as needed, depending on your system configuration.
Step 4: Package manager cleanup
As the yum package manager updates your system and software, it accumulates additional listings and downloaded data.
To clear these out of your system use the terminal command:
Reboot the server with:
This will clear the caches and lists in the local yum repositories. This can help speed the update process, and it can also help prevent issues.
Step 5: Update CentOS
Enter the command into the terminal:
The system should give you a listing of the packages to be downloaded, as well as the disk space required. The system will prompt you to confirm this is OK – press y, and the system will continue with the download and installation.
Note: CentOS 7.6 is a relatively minor release, so the process for updating is fairly straightforward. If you were installing a major update – say, CentOS 6.3 to CentOS 7.6, the process is much more involved.
Step 6: Verify current CentOS version
To verify the current version on CentOS, enter the command into the terminal:
The system should display CentOS Linux release 7.6.x is running on the web server.
Note: If you also have systems running Debian 9, may want to upgrade to the Linux Debian 10 Buster.
Conclusion
If you’ve followed along, you should have an updated version of CentOS 7.6.
The recent updates in CentOS include:
- Bug reports sent directly to bugs.centos.org
- Driver updates
- OpenJDK 11 now available
- Thunderbolt-3 support
- Python2 has been deprecated
- Insecure cryptographic algorithms and protocols removed
You can find more detailed instructions and release notes on the CentOS documentation page. Since CentOS is designed around stability and reliability, it is unlikely that this release will cause any significant problems with your configuration.
Что такое CentOS Linux?
CentOS Linux обеспечивает бесплатную и основанную на открытом исходном коде вычислительную платформу любому, кто её использует. Релизы CentOS Linux собираются на основе публично доступного открытого исходного кода, предоставленного Red Hat, Inc. в рамках Red Hat Enterprise Linux. Этот исходный код доступен на сайте CentOS Git.
CentOS Linux — это Платформа Сообщества для Разработки дистрибутивов Linux семейства Red Hat. Чтобы узнать больше об этом, прочитайте FAQ.
CentOS полностью соответствует требованиям, установленным политикой распостранения Red Hat, Inc. и направлена на то, чтобы быть функционально совместимой с Red Hat Enterprise Linux. В основном CentOS изменяет только пакеты с целью удаления торговых марок, бренда и графического оформления.
Хотя CentOS Linux не содержит Red Hat Enterprise Linux или Fedora Linux и не содержит какие-либо из их сертификатов, он собран на основе того же исходного кода, что и Red Hat Enterprise Linux.
Установка CentOS 7 с флешки
После создания загрузочной флешки, можно приступить к установке. Вставляем флешку в сервер, указываем в качестве источника загрузки USB и запускаем компьютер. Нас встречает начальное меню установки CentOS:
Выбираем первый пункт: Install CentOS 7 и жмем enter. После загрузки инсталлера, нас встречает окно с выбором языка, который будет использоваться во время установки. Я всегда выбираю Еnglish, мне так привычнее:
Дальше загружается страница с выбором основных параметров установки. Она уже будет отличаться в зависимости от типа ISO образа, с которого происходит установка центос.
Назначения ISO образов CentOS 7
CentOS-7-x86_64-DVD
Данный ISO образ является стандартным и содержит в себе все пакеты, которые можно выбрать при установке системы. Начинайте знакомство с CentOS именно с него
NetInstall
NetInstall образ предназначен для инсталляции системы через сеть или для восстановления повреждённой системы.
Вам предоставится выбор места из которого будут устанавливаться пакеты. Это очень удобно, если у вас есть локальный репозиторий с необходимым кол-вом пакетов.
Everything
В ISO образе Everything содержится самый полный набор пакетов операционной системы. Размер такого образа около 8 Гб.
LiveGNOME и LiveKDE
Эти два образа представляют собой LiveCD систему CenOS 7. Различие между ними только в графической оболочке KDE или GNOME. Вы можете протестировать систему без установки на ваш жёсткий диск.
Minimal
Минимальный ISO образ — ничего лишнего и его хватит лишь на базовый функционал системы с самым минимальным набором пакетов.
Всё остальное вам придётся уже самостоятельно устанавливать из репозиториев. Зато ничего лишнего и ненужного
Base Distribution
Archived Versions |
||
CentOS Linux 7 |
||
Release |
Based on RHEL Source (Version) |
Archived Tree |
7 (1908) |
7.7 |
|
7 (1810) |
7.6 |
|
7 (1804) |
7.5 |
|
7 (1708) |
7.4 |
|
7 (1611) |
7.3 |
|
7 (1511) |
7.2 |
|
7 (1503) |
7.1 |
|
7 (1406) |
7.0 |
|
CentOS Linux 6 |
||
Release |
Based on RHEL Source (Version) |
Archived Tree |
6.10 |
6.10 |
|
6.9 |
6.9 |
|
6.8 |
6.8 |
|
6.7 |
6.7 |
|
6.6 |
6.6 |
|
6.5 |
6.5 |
|
6.4 |
6.4 |
|
6.3 |
6.3 |
|
6.2 |
6.2 |
|
6.1 |
6.1 |
|
6.0 |
6.0 |
|
CentOS Linux 5 |
||
Release |
Based on RHEL Source (Version) |
Archived Tree |
5.11 |
5.11 |
|
5.10 |
5.10 |
|
5.9 |
5.9 |
|
5.8 |
5.8 |
|
5.7 |
5.7 |
|
5.6 |
5.6 |
|
5.5 |
5.5 |
|
5.4 |
5.4 |
|
5.3 |
5.3 |
|
5.2 |
5.2 |
|
5.1 |
5.1 |
|
5.0 |
5.0 |
|
CentOS Linux 4 |
||
Release |
Based on RHEL Source (Version) |
Archived Tree |
4.9 |
4.9 |
|
4.8 |
4.8 |
|
4.7 |
4.7 |
|
4.6 |
4.6 |
|
4.5 |
4.5 |
|
4.4 |
4.4 |
|
4.3 |
4.3 |
|
4.2 |
4.2 |
|
4.1 |
4.1 |
|
4.0 |
4.0 |
|
CentOS Linux 3 |
||
Release |
Based on RHEL Source (Version) |
Archived Tree |
3.9 |
3.9 |
|
3.8 |
3.8 |
|
3.7 |
3.7 |
|
3.6 |
3.6 |
|
3.5 |
3.5 |
|
3.4 |
3.4 |
|
3.3 |
3.3 |
|
3.1 |
3.1 |
|
CentOS Linux 2.1 |
||
Release |
Based on RHEL Source (Version) |
Archived Tree |
2.1 |
2.1 |
О пакетах и менеджерах пакетов в Linux. Что это и зачем нужно
К слову, немного выше я специально выделил три пункта, чтобы, так сказать, разбить содержание на несколько частей. О рeпозитории пакетов мы поговорили и теперь переходим к следующему куску повествования, а именно, поговорим о том, что подразумевается под понятием пакеты в Linux.
Под пакетами в Linux подразумевается программное обеспечение (ПО), которое Вы хотите установить на компьютер. Скажем, например, в Windows софт устанавливается с помощью мастера (программы) установки – setup.exe или install.exe. Вы запускаете этот мифический экзешный файл, и процесс установки начинается едва ли не мгновенно после выбора пути и мелких побочных настроек.
Установка же программ в Linux несколько отличается тем, что здесь используются два основных способа инсталляции: с помощью пакетов или из исходных кодов (установка пакетов это отдельный разговор, и сейчас мы этого вопроса касаться не будем). Пакетсодержит собранную программу, информацию о том, какие требуется совершить действия для ее установки, информацию о зависимостях, а также, возможно, много других данных (в зависимости от вида пакета). Причем за установку (удаление, обновление) отвечает такая штука, как менеджер пакетов.
Обычно менеджер пакетов является сердцем дистрибутива, обеспечивая полный контроль целостности и работоспособности всей системы, и он же обеспечивает пользователю интерфейс для автоматизированного получения пакета, его зависимостей и его установку. Пакеты, как уже говорилось, собираются в репозитории, т.е. всё это можно сложить в одну цепочку: пользователь запрашивает установку пакета – менеджер пакетов отслеживает зависимости – он же получает необходимые пакеты из репозитория(ев) – и он же устанавливает зависимости и требуемый пакет. Практически каждый дистрибутив Linux имеет свои репозитории, зачастую несовместимые с другими дистрибутивами. Менеджер же пакетов – консольная утилита, однако обычно для нее существуют многочисленные графические оболочки, которые легко отыскать в каждом дистрибутиве, введя в поиск «Установка/удаление программ».
Пакетные менеджеры бывают разные. Для управления пакетами в разных дистрибутивах используются разные программы. В общем-то, их не так уж и мало, а посему выделим «основные», которые «умеют» разрешать зависимости. Фраза «умеют разрешать зависимости» означает следующее – если при установке пакета будет обнаружено, что для корректной его установки нужны дополнительные пакеты, то менеджер пакетов установит их сам, т.е. Вам не придется искать дополнительные пакеты в репозиториях. Те менеджеры пакетов, которые не обладают такой функцией (умением разрешать зависимости), мы рассматривать не будем, ибо оные только сообщат Вам, что пакет установить невозможно и выведут весь список файлов (именно файлов, а не пакетов), которые нужны для установки данного пакета. А уж какой файл в каком пакете находится, Вы будете догадываться и искать самостоятельно.
Вот небольшой список:
- Yum (Yellow Dog Update Modified) – мощный менеджерпакетов, основанный на rpm (простой МП, не умеет разрешать зависимости), работающий в текстовом режиме и умеющий разрешать зависимости, а также умеющий поддерживать репозитории (источники пакетов). Используется в RedHat Linux, а так же в Fedora, SuSe и некоторых других;
- APT создана для дистрибутивов Linux, основанных на Debian, используется в Ubuntu (и клонах), АLT Linux и др. Мощный менеджер пакетов, работающий в текстовом режиме. Умеет разрешать зависимости и поддерживает репозитории (источники пакетов);
- Portage package management system имеет много разновидностей, примером может служить дистрибутив Gentoo. Как вариант пакетного менеджера можно привести emerge.
К слову, пакетные менеджеры не просто ищут желаемые Вами программы по описаниям, но прежде нам нужно ввести еще один не раз уже упомянутый термин и объяснить его.
Подключение модулей кэширования и тестирование производительности web сервера
PHP обновили, сайт запустился, дальше можно погонять тесты. Цифры я приводить не буду, так как в них нет никакого смысла. Они зависят от огромного числа параметров, поэтому в абсолютном значении не представляют ценности. Важны именно изменения значений в рамках одной тестируемой среды. Я буду говорить о примерном результате.
Первым делом я запустил тесты голого php70, без кэширования. Результаты при средней нагрузке, когда сервер успевает обработать все запросы, но работает на пределе своих возможностей, примерно оказались равны php54+apc. Но когда нагрузка сильно возрастает, образуется очередь запросов, php70 начинает в 2-3 раза медленнее обслуживать запросы, время отклика вырастает в 2-3 раза.
Я так прикинул, думаю, вроде неплохой результат. Сейчас включу apc и замерю как с ним будет. Оказалось, что модуль apc давно не поддерживается и поставить его на версию выше php54 нельзя. Вместо него теперь apcu. Думаю ладно, не проблема. Подключаю apcu и тестирую с ним. Результат меня расстроил. На средней нагрузке результат практически не изменился, на высокой нагрузке стал чуть хуже, а на очень высокой вообще в 2 раза просел по сравнению с работой без модуля.
Я понял, что никакого чуда с обновлением php70 не произошло. Прироста производительности я не получил, а получил кучу проблем в виде неработающих плагинов и phpmyadmin. Я принял решение откатываться назад, но не на версию php54, как было, а решил попробовать php56, чтобы проверить, что у него со скоростью.
К сожалению, уже после удаления 7-й версии php, я узнал, что модуль apc и apcu имеют принципиальное отличие и сравнивать только их нельзя. В результате мои тесты оказались недостоверны и с практической точки зрения бесполезны. Дело в том, что apc является opcode cache and data store, а apcu только data store. Таким образом, чтобы корректно протестировать производительность, мне нужно было в php70 включить еще opcache, который является opcode cache. Такая связка показала бы сопоставимый результат.
Мне все же любопытно проверить реальную производительность php70 в рабочей обстановке. Но постоянно пользоваться им пока не представляется возможным из-за проблем совместимости.
Могу ли я добавить поддержку X-ов уже после установки? Я ставил с ISO-образа, предназначенного для сервера и не поставил Х-ы. Как теперь я могу поставить Х?
Самый простой способо установки Х-ов (и GUI вообще) — использование «yum groupinstall». Для начала вы можете вывести все доступные yum-группы при помощи yum grouplist. Можно поставить Gnome или KDE следующим образом:
CentOS-5: yum groupinstall «X Window System» «GNOME Desktop Environment» или yum groupinstall «X Window System» «KDE (K Desktop Environment)»
CentOS-6: yum groupinstall «X Window System» «Desktop» или yum groupinstall «X Window System» «KDE Desktop».
Возможно вы захотите установить какие-либо другие группы из списка, например «Graphical Internet» или «Office/Productivity»
Note: Если, используя CentOS5, вы запускаете yum groupinstall «GNOME Desktop Environment», то может возникнуть ошибка отсутствия libgaim.so.0. Это известный баг, смотрите
Отключите нежелательные сервисы в CentOS 7
После установки CentOS 7 рекомендуется перечислить, какие службы работают в системе, выполнив указанные выше команды, отключить и удалить их, чтобы уменьшить векторы атак на вашу систему.
Например, демон Postfix установлен и включен по умолчанию в CentOS 7. Если вашей системе не требуется запуск почтового сервера, лучше всего остановить, отключить и удалить службу postfix, выполнив следующие команды.
В дополнение к командам netstat, ss, lsof или systemctl вы также можете запускать команды ps, top или pstree, чтобы обнаружить и определить, какие нежелательные службы работают в вашей системе, а также отключить или удалить их.
По умолчанию утилита pstree не установлена в CentOS 7. Для ее установки выполните следующую команду.
Общие методы уменьшения проблемы с совместимостью
Совместимы ли Ваши приложения с Windows 7, поможет определить подключение Application Compatibility Toolkit (ACT)
5.5. ACT также помогает определить, как будут влиять на Ваши приложения апгрейды. Так же Вы функции ACT могут
использоваться для:
- Проверки своих приложений, устройств и компьютера на совместимость с новой версией операционной системы
Windows - Проверки совместимости обновления Windows
- Подключения в сообщество ACT и совместной оценки риска с другими пользователями ACT
- Тестирования своих Веб-приложений и Веб-сайтов на возможность проблем совместимости с новыми выпусками и
обновлениями системы защиты Internet Explorer.
Методы уменьшения проблем с совместимостью
Уменьшение проблем с совместимостью приложения обычно зависит от различных факторов,
таких как тип приложения и текущей поддержки приложения. Некоторые из общих методов включают следующее:
- Изменение конфигурации существующего приложения: Вы можете использовать инструменты, Compatibility
Administrator или Standard User Analyzer (устанавливается с ACT), для обнаружения проблемы и создания
исправления данного приложения, что решит проблему совместимости. - Применение обновлений или пакетов обновлений к приложению: обновления или пакеты обновлений могут помочь
решить многие из проблем с совместимостью и дать возможность приложению работать в новой среде операционной
системы. - Апгрейд приложения до совместимого релиза: если более новая, совместимая версия приложения существует,
лучшее решение — обновить до более новой версии. - Изменение конфигурации безопасности: как пример, Защищенный режим Internet Explorer может быть смягчен,
добавив сайт в список надежных сайтов или выключив Защищенный режим (что не рекомендуется). - Запуск приложения в виртуализированной среде: если все другие методы недоступны, для решения проблем Вы
можете запустить приложение в более раннем релизе Windows, используя инструменты виртуализации, такие как PC
Microsoft Virtual и Microsoft Virtual Server. - Использование функций совместимости приложения: проблемы приложения, такие как управление версиями
операционной системы, могут быть смягчены, запуском приложения в режиме эмуляции. К этому режиму можно
получить доступ, щелкнув правой кнопкой по ярлыку или .exe файлу и применяя режим эмуляции более ранней
версии Windows на вкладки «Совместимость» (Свойства ->
Совместимость). Так же, чтобы помочь в конфигурировании режима эмуляции с приложением, Вы
можете использовать «Мастер Совместимости Программ». Эту функцию можно найти так:
«Панель управления» -> «Программы» -> «Выполнение программ,
созданных для предыдущих версий Windows». - Выбор другого приложения, которое выполняет ту же самую функцию, но не имеет проблем с совместимостью: если
другое совместимое приложение доступно, Вы можете использовать его.
Заключение
Недостижимость гарантированной безопасности и защищённости ПП приводит к необходимости разработки методов моделирования угроз, оценки величин риска, потенциального ущерба, связанных с эксплуатацией ПП. Подобные методы следует применять для определения приоритетов защиты информации в ПП и требований к уровню их защиты.
Универсальность принципов безопасности и защищённости ПП приводят к необходимости ориентации разработчиков ПП на обеспечение безопасности и защищённости ПП с самого начала процесса их разработки, что означает необходимость разработки методов и средств разработки безопасных и защищённых приложений.
Сложность современных ПП и многообразие вариантов их использования (как безопасных, так и нет), а также многообразие средств, которые могут быть использованы злоумышленниками для анализа и взлома ПП — приводят к необходимости разработки средств и методов тестирования безопасности и защищённости ПП.
Многосвязность и системность (принцип слабейшего звена) проблемы безопасности ПП приводит к необходимости в разработке формальных подходов к определению понятий защищённости и безопасности ПП, а также формальных методов анализа свойств защищённости и безопасности ПП (формальных методов тестирования безопасности и защищённости ПП).
Потребности пользователей ПП в гарантиях безопасности и защищённости ПП должны, в конечном итоге, сводиться к развитию услуг экспертизы (независимой оценки, тестирования) защищённости и безопасности используемых ПП.
Вывод
Судя по статье может показаться что обновление версии PHP не такое уж и сложное дело но уверяю что эта простота придет только с опытом. Многое зависит от того как долго не обновляли систему, какие ресурсы там работают и какие у каждого в отдельности требования к версии php. В случае если вам досталась система с которой работали разные люди и мало чего комментировали в коде сложностей может возникнуть очень много и единственное что вас спасет от головной боли в случае неправильной работы важных ресурсов это резервное копирование перед выполнением обновления. Лучшим вариантом при обновлении таких систем это сделать клон системы и производить все действия на нем. Конечно при работе с клоном может возникнуть дополнительные сложности но это уже другая тема.