CentOS: использование YUM и немного о полезных возможностях RPM. Что такое centos
Что такое centos: цент ос
CentOS — открытый, поддерживаемый усилиями сообщества и используемый также в корпоративных средах дистрибутив Linux, построенный на базе общедоступных компонентов популярной коммерческой ОС RHEL (Red Hat Enterprise Linux).
Благодаря использованию платформы Red Hat, проект CentOS полностью совместим с данным популярным и удостоенным наградам дистрибутивом Linux. Среди ключевых преимуществ системы — активное развитие, простое обслуживание, открытое управление, развивающееся сообщество и открытая бизнес-модель.
Дистрибутив подходит для долговременного использования в производственных средах, где CentOS используется в качестве сервера.
Что такое CentOS
Система предоставляет пользователям дружественной и знакомой средой с долговременной поддержкой ядра и коммерческой поддержкой.
Обзор CentOS
Варианты установки
CentOS распространяется как в виде загрузочного DVD, так и в виде ISO-образов для CD и универсального загрузчика. Поддерживаемая аппаратная платформа — 64-bit (x86_64). Загрузочные Live CD (GNOME и KDE) также доступны для загрузки.
Используемое по умолчанию окружение рабочего стола в CentOS представлено проектом GNOME, который предоставляет пользователям дружественный и знакомый графический интерфейс, который устроит даже самых взыскательных пользователей.
Стандартные приложения
Среди встроенных приложений и пакетов CentOS — офисный пакет LibreOffice, веб-браузер Mozilla Firefox, графический редактор GIMP, векторный графический редактор Inkscape, инструмент для прожига CD/DVD K3b, текстовый редактор Vim и почтовый клиент Mozilla Thunderbird.
Среди пакетов для организации сервера CentOS включает веб-сервер Apache, сервер баз данных MySQL и PostgreSQL, инструменты OpenSSH и OpenSSL для шифрования сеансов подключений, языки программирования Perl, Python и PHP, почтовый сервер Postfix и фреймворк сетевого взаимодействия Samba.
Проект включает поддержку нескольких языков и поставляется с поддержкой известных файловых систем EXT3 и EXT4.
CentOS является стабильным, воспроизводимым, простым в обслуживании дистрибутивом Linux, специально разработанным для развертывания на локальных серверах организаций, защищенных межсетевым экраном.
rpilot62.ru
CentOS 6 от А до Я. Часть 1. Как узнать версию CentOS и обновить операционную систему.
Виртуальные и выделенные серверы шагают по сети и становятся не только модными, но и доступными. Самой популярной операционной системой для хостинга является CentOS. И дабы не запутаться в обилии терминов и рекомендаций я собрал краткий ликбез от А до Я. Который позволит даже новичку правильно настроить и получить максимальную отдачу от сервера на базе CentOS.
Что такое CentOS. Плюсы и минусы.
По сути CentOS Linux это RedHat Enterprise Linux, из которого удалены только коммерческие закрытые программы. RedHat Enterprise Linux — это линукс для предприятий от RadHat. Их прицел — корпоративные пользователи, для которых важна в первую очередь стабильность и поддержка. Поэтому используя бесплатный CentOS Вы получаете очень стабильный дистрибутив Линукс.В чем же тогда минус CentOS? Единственный минус CentOS — это отсутствие поддержки от RedHat. Точнее от сотрудников RedHat. Но часто ли покупая лицензионную операционную систему Windows Вы обращаетесь за помощью в MicroSoft? Максимум в центр активации, и то при возникновении проблем, что крайне редко происходит у легальных пользователей.Поэтому отсутствие поддержки RedHat никак не сказывается на безопасности и стабильности операционной системы CentOS. Более того, Ваш сервер на базе CentOS будет регулярно получать обновления и при необходимости заплатки системы безопасности из официальных источников.
От слов к делу
И так, у Вас выделенный сервер с предустановленной операционной системой CentOS с доступом по SSH.
Недорогие, но очень «вкусные» выделенные серверы можно взять в компании Adman. Особо экономные могут получить виртуальный выделенный сервер совершенно бесплатно. Для этого достаточно иметь рабочий сайт.
Как узнать какая операционная система CentOS установлена на сервере
Всем известна стандартная команда uname, которая совместно с параметром -а выдаст сведения об установленной операционной системе. Но если во FreeBSD ответ содержит версию установленной ОС, то в CentOS вы получите лишь версию Linux. А вот полные данные об установленной операционной системе, как это и пинято в RedHat хранятся в файле /etc/redhat-release. Поэтому чтобы узнать версию CentOS установленную на сервере необходимо выполнить команду в консоли:
На что интерпретатор команд CentOS выдаст Вам примерно следующее:
CentOS release 6.1 (Final)Как обновить операционную систему CentOS
Обновление CentOS в пределах подверсии, к примеру с 6.1 до 6.3 сводится к одной команде:yum updateЕсли прошлое операционной системы CentOS Вам неизвестно, то обновление лучше выполнить следующим образом:
yum clean all yum updateВ процессе обновления Вам иногда предстоит отвечать на соответствующие вопросы Yes.Можно использовать параметр -y, чтобы система не приставала к вам с глупыми вопросами, и всегда отвечала на них yes.
yum -y updateПроцесс установки может растянуться на несколько часов в зависимости от свежести операционной системы и производительности сервера.По окончании обновления наслаждаемся полученным результатом введя команду:
cat /etc/redhat-releaseи получив ответ:
CentOS release 6.3 (Final)Для чистоты эксперимента полезно перезагрузить сервер:
При написании статьи были использованы материалы следующих интернет ресурсов:
- AmiSEO — CentOS как узнать версию
- EterSoft — Обновление Linux-систем
Поделись этой страницей с друзьями!
moonback.ru
Структура файловой системы CentOS 7
Всем привет, давно я ничего не писал про свой любимый CentOs 7, сегодня я исправлюсь, а то все пишу про то, Как удалить сеть wifi в Windows 10 🙂 , тоже нужное, но хочется чего-то админского. Темой текущей статьи будет структура файловой системы CentOS 7, так сказать для новичков это будет полезно при знакомстве с Linux, да и я в памяти освежу чуток эту информацию, может это даже кого-то с подвигнет к дальнейшему изучениею данной операционной системы.
И так ранее у нас с вами была установка сервера centos, ставили мы минимальную версию, поэтому она без утилит и без настроенной сети. Все настройки в Centos 7 производятся с редактирования конфигурационных файлов, но чтобы это сделать нужно понять где и что лежит, а именно разобраться как работает структура файловой системы CentOS 7.
Из чего состоит файловая система CentOS 7
Как видите есть корневой каталог / и много под каталогов, мы разберем самые основные.
- / > корень в нем располагаются все остальные папки
- /bin > тут находятся основные утилиты CentOS 7
- /etc > тут как раз хранятся конфиги
- /home > содержит домашние каталоги созданных пользователей
- /root > домашний каталог администратора
- /var > логи и динамические файлы
Основные команды по работе с CentOS 7
И так для начала введите команду
pwd > вы увидите где вы находитесь в моем случае это корень, далее командуls > она покажет содержимое структуры файловой системы, вы увидите папки описанные выше
Теперь давайте перейдем в каталог /etc делается это с помощью команды
cd /etcдалее сделаем ls
Как видите тут гораздо поинтересней, напомню, тут все конфигурационные файлы системы. Если у вас не уместился весь список, то пролистать вверх или вниз можно клавишами Shift+pg UP или Pg Down.
Теперь научимся с вами делать резервную копию конфигурационных файлов, например папки sysconfig, если вдруг она повреждена то у нас будут проблемы с запуском CentOS 7. Для начала посмотрим ее размер, с помощью команды
Ключи hsx выводят в мегабайтах размер папки. Как видите она в принципе весит не много, всего 280К. Место у нас есть так, что можно делать бэкап конфигов.
Создадим в корневом каталоге папку Backup.
mkdir /backupподнимемся в корневой каталог командой
cd ..
теперь скопируем всю папку susconfig, для этого пишем
cp -r /etc/sysconfig/ /backup/далее перейдем в папку backup
cd /backup
и выполним команду ls
Как видите папка sysconfig у нас скопировалась со всем содержимым.
Давайте научимся копировать отдельные файлы, например скопируем файл crond в корневой каталог
cp crond /root/cd /root
ls
Как видите все работает.
Давайте теперь удалим данный файл, зачем нам мусор. Есть такая вот команды
rm crondдалее жмем y для подтверждения удаления
ls
Давайте научимся создавать текстовые файлы, для этого переходим в каталог /backup/sysconfig/ и создадим тут файл readme с описанием того, что у нас находится в данной папке.
vi readme
vi это встроенный файловый редактор.
В итоге у вас откроется пустой файл readme. Жмем I для редактирования
Далее пишите содержимое в данном файле, что угодно понятное для себя, как только закончите редактирование жмете ESC затем :wq (записать и выйти)
Как видите сам редактор не такой сложный и сама структура файловой системы CentOS 7, довольно дружелюбна. Теперь посмотрим содержимое нашего файла, для этого введите
Теперь давайте перемести файл readme в папку backup и переименуем его в другое назваиние
mv readme /backup/backup_listcd /backup
ls
cat backup_list
Как видите файл переместился и пере именовался.
Теперь научимся искать файлы в файловой системы CentOS 7. Для этого есть утилита find, вводим
find / -name messagesпосмотреть синтаксис можно командой
man find
посмотрим его содержимое с помощью tail, она по умолчанию выводит последние 10 строк, но можно вызвать и любое количество
tail messages
поставим параметр -20, чтобы вызвать последние 20 строк
можно например вывести первые 20 строк, для этого введите
Как посмотреть системные ресурсы CentOS
Давайте научимся смотреть как разбиты диски в CentOS и сколько свободного места
как видите, места полно. Есть общий размер, размер свободного пространства, процент использования.
Теперь проверим сколько cpu и памяти используется в системе, введем команду top.
Первая строка показывает время работы сервера и среднюю загрузку, вторая сколько запущено процессов, третья это загрузка cpu, четвертая это использование памяти и пятая использование свопа.
Посмотреть список запущенных процессов можно командой
У вас появится список всех процессов, перемещаться можно клавишами Shift+Pg Down или Up.
Допустим нужно вывести только cron
Как видите отфильтровалось, важная информация тут это номер процесса 601
Давайте завершим данный процесс, введите
Как видите теперь процесса нет,
Как видите, главное знать команды, конечно все это проще сделать с помощью mc утилиты, имеющей графический интерфейс, но знать азы нужно, далее будет произведена настройка сети Centos 7.
pyatilistnik.org
Операционная система CentOS | Блог о Wordpress. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)
Проходимец — это средняя стадия между «ничто» и «первопроходец» (С.Н. Федоров).
CentOS (англ. Community ENTerprise Operating System) — дистрибутив Linux, основанный на коммерческом Red Hat Enterprise Linux компании Red Hat и совместимый с ним. Срок поддержки каждой версии CentOS составляет 10 лет. Каждая версия обновляется каждые 6 месяцев для поддержки новых аппаратных средств.Red Hat Enterprise Linux состоит из свободного ПО с открытым кодом, но доступен в виде дисков с бинарными пакетами только для платных подписчиков. Как требуется в лицензии GPL и других, Red Hat предоставляет все исходные коды. Разработчики CentOS используют данный исходный код для создания окончательного продукта, очень близкого к Red Hat Enterprise Linux и доступного для скачивания. Существуют и другие клоны Red Hat Enterprise Linux, созданные на основе этого кода.
CentOS использует программу yum (начиная с версии 7.0 используется пакетный менеджер dnf) для скачивания и установки обновлений из репозитория CentOS Mirror Network, тогда как Red Hat Enterprise Linux получают обновления с серверов Red Hat Network. CentOS до версии 5.0 для обновлений использовал также программу up2date.
Помимо прочего, CentOS использовалась как ОС по умолчанию в проекте Cluster Compute Instance (CCI) от Amazon, суть которого заключается в том, что сдаются в аренду мощности большого числа стандартных стоечных серверов.
По материалам википедии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Просмотров: 1159
Окт 24 2018
Как установить cPanel и WHM на CentOS 7 -cPanel – самая популярная и наиболее широко используемая панель управления для управления и автоматизации задач веб-хостинга. Это самая интуитивно понятная и удобная в использовании панель управления в мире, с очень простым графическим интерфейсом. cPanel – это панельЧитать далее… >
Окт 20 2018
4 способа проверки версии CentOS в командной строке Linux -Краткая информация. В этой статье объясняется несколько способов проверки версии дистрибутива CentOS Linux на вашем компьютере. CentOS – отличная ОС, серверное программное обеспечение, где более длительный цикл поддержки и отличное стабильное программное обеспечение в репозиториях иЧитать далее… >
Окт 05 2018
Как установить yarn на CentOS 7 -Yarn – это менеджер пакетов JavaScript, совместимый с npm. Он был создан для решения набора проблем с npm, таких как ускорение процесса установки пакетов путем параллелизации операций и сокращения ошибок, связанных с сетевым подключением. В этойЧитать далее… >
Окт 02 2018
Как установить Moodle на CentOS 7 -Moodle – популярная система управления обучением с открытым исходным кодом (LMS), написанная на PHP. Она был создан, чтобы помочь педагогам легко создавать качественные онлайн-курсы. В этой статье мы покажем вам, как установить Moodle на CentOS 7. Требования кЧитать далее… >
Окт 02 2018
Как установить Mastodon на CentOS 7 -Mastodon – бесплатная социальная сеть с открытым исходным кодом на основе открытого веб-протокола. Он использует Ruby on Rails для back-end и React.js и Redux для front-end. В этой статье мы покажем вам, как установить Mastodon на серверЧитать далее… >
Сен 29 2018
Как установить DRBD на CentOS -В этом пошаговом руководстве демонстрируется установка распределенного Реплицированного блочного устройства (DRBD) на CentOS Linux. Что такое DRBD? DRBD (распределенное реплицируемое блочное устройство) – это программный пакет для Linux-систем. Он используется для репликации устройств хранения данных сЧитать далее… >
Сен 27 2018
Как установить WildFly 14 на CentOS 7 -WildFly – это современный веб-сервер Java-приложений, разработанный как скоростной и легкий. Ранее известный как JBoss, WildFly является открытым исходным кодом и имеет целью обеспечить самую быструю среду выполнения Java. Благодаря таким функциям, как блоки подсистем, которые можноЧитать далее… >
Сен 22 2018
Как установить Jenkins на CentOS 7 -Jenkins является сервером автоматизации с открытым исходным кодом, основанный на Java, который предлагает простой способ настройки непрерывной интеграции и непрерывной доставки (CI/CD). В этой статье Вы узнаете, как установить Jenkins на систему CentOS 7, используя официальныйЧитать далее… >
Сен 17 2018
Как установить NextCloud 14 на CentOS 7 -Nextcloud – это один из самых популярных наборов программного обеспечения с открытым исходным кодом. Вы можете использовать его для хранения ваших личных файлов, контактов, изображений, музыки и многое другое, и это позволяет вам получить к ним доступЧитать далее… >
Сен 17 2018
Как установить и настроить VNC на CentOS 7 -В этой статье мы рассмотрим шаги по установке и настройке VNC-сервера в системе CentOS 7. Мы также покажем вам, как безопасно подключаться к серверу VNC через туннель SSH. Виртуальная сетевая вычислительная система (VNC) представляет собой графическуюЧитать далее… >
Сен 14 2018
Установка пакета языка программирования R на CentOS 7 -R – быстро развивающийся язык программирования с открытым исходным кодом и свободная среда, которая специализируется на статистических вычислениях и графическом представлении. Поддерживается Фондом R для статистических вычислений и в основном используется статистиками и разработчиками данных дляЧитать далее… >
Простая логическая игра "Поймай кота". Задача игры окружить кота точками так, чтобы он не смог убежать с поля. Постигла неудача - начни игру снова!andreyex.ru
CentOS: использование YUM и немного о полезных возможностях RPM
Что такое YUM?
Yellow dog Updater, Modified (YUM) — открытый консольный менеджер RPM-пакетов.
RPM (рекурсивный акроним RPM Package Manager — RPM — менеджер пакетов; ранее раскрывался как Red Hat Package Manager — менеджер пакетов Red Hat
YUM создан для решения следующих задач:
- Поиск пакетов в репозиториях
- Установка пакетов из репозиториев
- Установка пакетов из .rpm файлов, с разрешением зависимостей с помощью репозиториев
- Обновление системы
- Удаление ненужных пакетов
- Фактически, YUM представляет собой оболочку для RPM, обеспечивающую работу с репозиториями.
YUM – поиск пакетов, файлов
Для поиска используются три опции YUM – list, search, provide.
Поиск пакета по его названию выполняется с помощью опции list. Например, найти пакет packagename можно так:
# yum list packagename
Если вы не помните имя пакета полностью – можно воспользоваться подстановкой значения с помощью символа *, не забывая его заэкранировать с помощью символа обратного слеша для правильной обработки вашим командным интерпретатором (например – bash):
# yum list packagen*
Вместо * (замена любого количества символов) можно использовать знак ? – который заменяет один любой символ в поиске. Например, в имени пакета screen – 6 символов. Для поиска по первым 4-м символам введите:
# yum list scre??…screen.i686 4.0.3-16.el6 @base
Эти символы замены (? и *) допускаются и в большинстве остальных команд YUM.
Поиск пакета в списках по его имени (можно неполному слову) и в его описании:
# yum search scre…screen.i686 : A screen manager that supports multiple logins on one terminal…
Интересная опция – provides. Она используется для поиска пакета, содержащего указанный в поиске файл/каталог. К примеру, требуется узнать к какому пакету относится файл httpd.conf. Для этого воспользуемся такой командой:
# yum provides */httpd.conf…httpd-2.2.15-15.el6.centos.1.i686 : Apache HTTP ServerRepo : baseMatched from:
В результате мы получаем Apache Server, который после установки будет содержать файл httpd.conf.
Другой вариант – надо найти пакет, который хранит свои файлы в каталоге /etc/httpd:
# yum provides /etc/httpd*
Установка, обновление, удаление пакетов с помощью YUM
Установка производится с помощью опции install. В процессе – YUM попробует обнаружить все зависимости и предложит их установить:
# yum install mc…Dependencies Resolved
================================================================================Package Arch Version Repository Size================================================================================Installing:mc i686 1:4.7.0.2-3.el6 base 1.6 MInstalling for dependencies:gpm-libs i686 1.20.6-12.el6 base 28 kperl i686 4:5.10.1-127.el6 base 9.7 Mperl-Module-Pluggable i686 1:3.90-127.el6 base 38 kperl-Pod-Escapes i686 1:1.04-127.el6 base 30 kperl-Pod-Simple i686 1:3.13-127.el6 base 210 kperl-libs i686 4:5.10.1-127.el6 base 591 kperl-version i686 3:0.77-127.el6 base 49 k…
Можно указать несколько пакетов для установки, разделяя их запятыми.
Что бы YUM не запрашивал подтверждения установки пакета и/или его зависимостей – используйте ключ -y:
# yum -y install mc
Переустановить пакет:
# yum reinstall packagename
Для установки пакета, предварительно загруженного на сервер – воспользуйтесь опцией localinstall. Например – установка пакета atop:
# yum localinstall atop-1.25-1.el5.rf.i386.rpm
Обновить установленный пакет packagename можно командой:
# yum update packagename
А обновить полностью систему – той же командой, но без указания имени пакета:
# yum update
Посмотреть список установленных пакетов, которые можно обновить:
# yum check-update
Выполнить downgrade пакета до его предыдущей версии:
# yum downgrade packagename
Для удаления пакета из системы используется опция remove (или erase – которая является алиасом remove):
# yum remove packagename
YUM и репозитории
Получить список активных репозиториев в ваших repo-файлов из каталога /etc/yum.repos.d/ можно так:
# yum repolistrepo id repo name statusbase CentOS-6 – Base 4,776extras CentOS-6 – Extras 17updates CentOS-6 – Updates 960
А всех, в том числе неактивных – так:
# yum repolist all…repo id repo name status…C6.2-extras CentOS-6.2 – Extras disabledC6.2-updates CentOS-6.2 – Updates disabledbase CentOS-6 – Base enabled: 4,776c6-media CentOS-6 – Media disabled…debug CentOS-6 – Debuginfo disabledextras CentOS-6 – Extras enabled: 17updates CentOS-6 – Updates enabled: 960
Ещё интересная возможность – отобразить доступные для установки (уже установленные пакеты отображаться не будут) только из определённого репозитория. Например – вывести список пакетов из репозитория base:
# yum –disablerepo “*” –enablerepo “base” list available
Что бы получить полный список, в том числе уже установленные пакеты – уберите слово available в этой команде.
Другие возможности YUM
Получить информацию об установленных пакетах можно так:
# yum info
О конкретном пакете packagename:
# yum info packagename
Если пакет уже установлен в системе – он будет отмечен как Installed Packages в описании. Если пакет доступен для установки из репозитория, но ещё не установлен – он будет отмечен как Available Packages. Например:
# yum info gcc-c++Loaded plugins: fastestmirror, refresh-packagekit, securityLoading mirror speeds from cached hostfile* base: ftp.colocall.net* extras: ftp.colocall.net* updates: ftp.colocall.netAvailable PackagesName : gcc-c++Arch : i686Version : 4.4.6Release : 4.el6Size : 4.3 MRepo : baseSummary : C++ support for GCCURL : http://gcc.gnu.orgLicense : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptionsDescription : This package adds C++ support to the GNU Compiler Collection.: It includes support for most of the current C++ specification,: including templates and exception handling.
Тут так же поддерживаются символы-заменители, например – вы не помните полностью имя пакета screen:
# yum info scre*
Исключить пакет из списка пакетов для обновления можно так.
Откройте для редактирования файл /etc/yum.conf, и в него добавьте строку:
exclude=
После чего через запятую укажите список пакетов, которые необходимо поддерживать в их текущей версии. Например – так:
exclude=aic94xx-firmware, b43-openfwwf
Просмотреть список зависимостей пакета:
# yum deplist packagename
Посмотреть список последних действий YUM:
# yum historyLoaded plugins: fastestmirrorID | Login user | Date and time | Action(s) | Altered——————————————————————————-7 | root <root> | 2013-03-06 15:02 | I, U | 456 | root <root> | 2013-03-06 14:59 | Install | 1 EE5 | root <root> | 2013-03-06 14:58 | Install | 14 | root <root> | 2013-03-06 14:54 | Install | 83 | root <root> | 2013-03-06 14:47 | Install | 32 | root <root> | 2013-03-06 14:22 | Install | 11 | System <unset> | 2013-03-06 13:52 | Install | 209
При проблемах с менеджером пакетов YUM
Очистить кеш:
# yum clean all
Пересоздать кеш:
# yum makecache
Другие возможности работы с RPM-пакетами
Посмотреть список установленных в системе пакетов НЕ из списка репозиториев CentOS;
# rpm -qa –qf ‘%{NAME} %{VENDOR}n’ | grep -v CentOS
Посмотреть список man-страниц для определённого пакета можно так:
# rpm -qd packagename
Посмотреть список всех установленных в системе пакетов:
# rpm -qa
Показать список всех GPG-ключей с соответствующей информацией репозитория:
# rpm -q gpg-pubkey –qf ‘%{name}-%{version}-%{release} –> %{summary}n
Посмотреть список изменений в версиях пакета:
# rpm -q –changelog packagename | less
Посмотреть список пакетов по дате их установки/обвноления (например – найти необновившиеся пакеты):
# rpm -qa –last | less
Получить список установленных ключей GPG с информацией об их репозиториях:
# rpm -q gpg-pubkey –qf ‘%{name}-%{version}-%{release} –> %{summary}n’
GNU Privacy Guard, GnuPG, GPG — свободная альтернатива набору криптографического ПО PGP, выпущенная под лицензией GNU General Public License. Является частью проекта GNU, получила гранты от немецкого правительства. GnuPG полностью совместим со стандартом IETF OpenPGP. Текущие версии GnuPG могут взаимодействовать с PGP и другими OpenPGP-совместимыми системами в режиме совместимости. GnuPG позволяет шифровать и подписывать данные в целях безопасного хранения и передачи информации.
rtfm.co.ua
CentOS: копейка рубль бережёт! :: Linux.su
Дистрибутив CentOS можно назвать уникальным явлением в мире Linux. Этот проект как и многие другие создан и поддерживается интернациональной командой энтузиастов, но в отличие от своих собратьев разработчики CentOS строят код на фундаменте, заложенном легендарной компанией Red Hat. Говоря попросту, CentOS - стопроцентно свободный вариант платного дистрибутива Red Hat Enterprise Linux (сокращённо известный как RHEL).
Зачем понадобилось перерабатывать линукс от Red Hat? Секрет здесь в том, что RHEL, содержа в основном свободное программное обеспечение, распространяется лишь в виде исполняемых файлов и только среди ограниченного круга платных подписчиков. Однако Red Hat обязана публиковать исходные тексты своего дистрибутива, чем и воспользовались энтузиасты, пожелавшие создать собственную версию RHEL, которую можно было бы распространять без ограничений. Так родился проект CentOS. Внося минимальные изменения в исходники от Red Hat и компилируя их самостоятельно, создатели CentOS получают полностью совместимый дистрибутив: под CentOS можно устанавливать, запускать и без дополнительных усилий работать со всеми программами, написанными для платного линукса от компании Red Hat.
Разработчики CentOS не одиноки, существуют и другие свободные варианты RHEL (Scientific Linux, White Box Enterprise Linux и др.). Но именно CentOS считается самым удачным проектом такого рода, и именно CentOS на сегодняшний день является самым популярным свободным вариантом RHEL. Поэтому если вам необходим Red Hat Enterprise Linux, но мешают накладываемые компанией Red Hat ограничения, выбирайте CentOS.
Набор программного обеспечения CentOS типичен для современных дистрибутивов с акцентом на стабильность: это достаточно свежие, но уже проверенные "в бою" версии офисных, серверных и девелоперских пакетов, программ и утилит (KDE и Gnome с compiz и AIGLX, Firefox и Evolution, MySQL и PostgreSQL, Apache и PHP, и т.д.). Пользователям CentOS как правило доступны все программы, созданные для Linux - ведь послуживший фундаментом дистрибутив RHEL является одним из самых распространённых линуксов в мире. Интересно, что срок поддержки дистрибутива (на протяжении которого для него выпускаются патчи, обновления) составляет семь лет - значительно больше чем любого другого популярного варианта Linux.
Полезные ссылки
Please enable JavaScript to view the comments powered by Disqus.При частичной или полной перепечатке, переводе, переработке материалов сайта ссылка на Knoppix.ru обязательна.
(c) Knoppix.ru 2003 - 2017
knoppix.ru
Шпаргалка по управлению сервисами CentOS 7 с systemd / Блог компании Infobox / Хабр
Systemd – менеджер системы и сервисов в операционной системе Linux. При разработке eго стремились спроектировать обратно совместимым со скриптами инициализации SysV init и предоставить полезные функции, такие, как параллельный запуск системных сервисов во время загрузки, активацию демонов по требованию, поддержку снепшотов состояния системы и логику управления сервисами, основанную на зависимостях. В CentOS 7 systemd заменяет Upstart как систему инициализации по умолчанию.В этой статье мы рассмотрим процесс управления сервисами в systemd для пользователя CentOS 7. Эти знания будут полезны и в других дистрибутивах, ведь systemd уже давно используется в Fedora и планируется в Ubuntu 14.10 и Debian 8. Хорошо это или нет — оставим за кадром.
В процессе чтения статьи вы можете попробовать systemd на классических VPS и облачных VPS от Infobox. Мы стремимся своевременно добавлять поддержку современных ОС, чтобы вы могли использовать последние технологии для более эффективной работы. Сама идея написания статьи родилась после очередного вопроса пользователей об использовании сервисов в CentOS 7.
Введение
Systemd приносит концепцию юнитов systemd. Юниты представлены конфигурационными файлами, размещенными в одной из директорий:- /usr/lib/systemd/system/ – юниты из установленных пакетов RPM.
- /run/systemd/system/ — юниты, созданные в рантайме. Этот каталог приоритетнее каталога с установленными юнитами из пакетов.
- /etc/systemd/system/ — юниты, созданные и управляемые системным администратором. Этот каталог приоритетнее каталога юнитов, созданных в рантайме.
Типы юнитов systemd:
- .service – системный сервис
- .target — группа юнитов systemd
- .automount – точка автомонтирования файловой системы
- .device – файл устройства, распознанного ядром
- .mount – точка монтирования файловой системы
- .path – файл или директория в файловой системе
- .scope – процесс, созданный извне
- .slice – группа иерархически организованных юнитов, управляющая системными процессами
- .snapshot – сохраненное состояние менеджера systemd
- .socket – сокет межпроцессного взаимодействия
- .swap – Свап-устройство или свап-файл (файл подкачки)
- .timer – таймер systemd
Основные функции systemd в CentOS 7
- Активация, основанная на сокетах. Во время загрузки systemd прослушивает сокеты для всех системных сервисов, поддерживает этот тип активации и передает сокеты этим сервисам сразу после старта сервисов. Это позволяет systemd не только запускать сервисы параллельно, но также дает возможность перезапускать сервисы без потери любых отправленных им сообщений, пока сервисы были недоступны. Соответствующий сокет остается доступным и все сообщения выстраиваются в очередь.
- Активация, основанная на D-Bus. Системные сервисы, использующие D–Bus для межпроцессного взаимодействия, могут быть запущены по требованию, когда клиентское приложение пытается связаться с ними.
- Активация, основанная на девайсах. Системные сервисы, поддерживающие активацию, основанную на девайсах, могут быть запущены, когда определенный тип оборудования подключается или становится доступным.
- Активация, основанная на путях. Системные сервисы могут поддерживать этот вид активации, если изменяется состояние папки или директории.
- Снепшоты системных состояний. Система может сохранять состояние всех юнитов и восстанавливать предыдущее состояние системы.
- Управление точками монтирования и автомонтирования. Systemd отслеживает и управляет точками монтирования и автомонтирования.
- Агрессивная параллелизация Systemd запускает системные сервисы параллельно из-за использования активации, основанной на сокетах. В комбинации с сервисами, поддерживающими активацию по требованию, параллельная активация значительно уменьшает время загрузки системы.
- Транзакционная логика активации юнитов. До активации и деактивации юнитов systemd вычисляет их зависимости, создает временную транзакцию и проверяет целостность этой транзакции. Если транзакция нецелостная, systemd автоматически пытается исправить ее и удалить не требующиеся задания из нее до формирования сообщения об ошибке.
- Обратная совместимость с инициализацией SysV. SystemD полностью поддерживает скрипты инициализации SysV, как описано в спецификации Linux Standard Base (LSB), что упрощает переход на systemd.
Управление сервисами
В предыдущих версиях CentOS использовалась SysV или Upstart. Скрипты инициализации располагались в директории /etc/rc.d/init.d/. Такие скрипты обычно писались на Bash и позволяли администратору управлять состоянием сервисов и демонов. В CentOS 7 скрипты инициализации были заменены сервисными юнитами.По способу использования сервисные юниты .service напоминают скрипты инициализации. Для просмотра, старта, остановки, перезагрузки, включения или выключения системных сервисов используется команда systemctl. Команды service и chkconfig по-прежнему включены в систему, но только по соображениям совместимости.
При использовании systemctl указывать расширение файла не обязательно.
Ниже представлены основные команды systemctl:
- systemctl start name.service – запуск сервиса.
- systemctl stop name.service — остановка сервиса
- systemctl restart name.service — перезапуск сервиса
- systemctl try-restart name.service — перезапуск сервиса только, если он запущен
- systemctl reload name.service — перезагрузка конфигурации сервиса
- systemctl status name.service — проверка, запущен ли сервис с детальным выводом состояния сервиса
- systemctl is-active name.service — проверка, запущен ли сервис с простым ответом: active или inactive
- systemctl list-units --type service --all – отображение статуса всех сервисов
- systemctl enable name.service – активирует сервис (позволяет стартовать во время запуска системы)
- systemctl disable name.service – деактивирует сервис
- systemctl reenable name.service – деактивирует сервис и сразу активирует его
- systemctl is–enabled name.service – проверяет, активирован ли сервис
- systemctl list-unit-files --type service – отображает все сервисы и проверяет, какие из них активированы
- systemctl mask name.service – заменяет файл сервиса симлинком на /dev/null, делая юнит недоступным для systemd
- systemctl unmask name.service – возвращает файл сервиса, делая юнит доступным для systemd
Работаем с целями (targets) Systemd
Предыдущие версии CentOS с SysV init или Upstart включали предопределенный набор уровней запуска (runlevels), которые представляли специфичные режимы для операций, пронумерованные от 0 до 6. В CentOS 7 концепция уровней запуска была заменена целями systemd.Файлы целей systemd .target предназначены для группировки вместе других юнитов systemd через цепочку зависимостей. Например юнит graphical.target, использующийся для старта графической сессии, запускает системные сервисы GNOME Display Manager (gdm.service) и Accounts Service (accounts–daemon.service) и активирует multi–user.target. В свою очередь multi–user.target запускает другие системные сервисы, такие как Network Manager (NetworkManager.service) или D-Bus (dbus.service) и активирует другие целевые юниты basic.target.
В CentOS 7 присутствуют предопределенные цели, похожие на стандартный набор уровней запуска. По соображениям совместимости они также имеют алиасы на эти цели, которые напрямую отображаются в уровнях запуска SysV.
- poweroff.target (runlevel0.target) – завершение работы и отключение системы
- rescue.target (runlevel1.target) – настройка оболочки восстановления
- multi–user.target (runlevel2.target, runlevel3.target, runlevel4.target) – настройка неграфической многопользовательской системы
- graphical.target (runlevel5.target) – настройка графической многопользовательской системы
- reboot.target (runlevel6.target) – выключение и перезагрузка системы
Для определения, какой целевой юнит используется по умолчанию, полезна следующая команда: systemctl get–default.
Для просмотра всех загруженных целевых юнитов воспользуйтесь командой systemctl list-units --type target, а для просмотра вообще всех целевых юнитов командой: systemctl list-units --type target --all.
Для изменения цели по умолчанию поможет команда systemctl set-default name.target.
Для изменения текущей цели: systemctl isolate name.target. Команда запустит целевой юнит и все его зависимости и немедленно остановит все остальные.
Выключение и перезагрузка системы
В CentOS 7 systemctl заменяет значительное количество команд управления питанием. Прежние команды сохранены для совместимости, но рекомандуется использовать systemctl:systemctl halt – останавливает системуsystemctl poweroff – выключает системуsystemctl reboot – перезагружает системуУправление systemd на удаленной машине
Systemd позволяет управлять удаленной машиной по SSH. Для управления используйте команду:systemctl --host user_name@host_name command, где user_name – имя пользователя, host_name – имя хоста, которым осуществляется удаленное управление, а command – выполняемая команда systemd.Типичный systemd .service
Этот раздел поможет вам, если вам необходимо быстро сделать поддержку управления сервисом из systemd. Подробная информация о всех параметрах файла .service есть в соответствующем разделе документации по systemd.[Unit] Description=Daemon to detect crashing apps After=syslog.target [Service] ExecStart=/usr/sbin/abrtd Type=forking [Install] WantedBy=multi-user.target Давайте посмотрим на секцию [Unit]. Она содержит общую информацию о сервисе. Такая секция есть не только в сервис-юнитах, но и в других юнитах (например при управлении устройствами, точками монтирования и т.д.). В нашем примере мы даем описание сервиса и указываем на то, что демон должен быть запущен после Syslog.В следующей секции [Service] непосредственно содержится информация о нашем сервисе. Используемый параметр ExecStart указывает на исполняемый файл нашего сервиса. В Type мы указываем, как сервис уведомляет systemd об окончании запуска.
Финальная секция [Install] содержит информацию о цели, в которой сервис должен стартовать. В данном случае мы говорим, что сервис должен быть запущен, когда будет активирована цель multi–user.target.
Это минимальный работающий файл сервиса systemd. Написав свой, для тестирования скопируйте его в /etc/systemd/system/имя_сервиса.service. Выполните команды systemctl daemon-reload. Systemd узнает о сервисе и вы сможете его запустить.
Дополнительная информация
Отличное руководство по systemd от RedHat, положенное в основу этой статьи.Документация по написанию своего сервис-юнита systemd.«Systemd для администраторов» от разработчика systemd на русском языке.Заключение
В этой статье мы научились управлять сервисами CentOS 7. Конечно, это далеко не единственная функция systemd и другие ее стороны будут рассмотрены в будущем. Сама ОС практически со времени релиза доступна на классических VPS и облачных VPS от Infobox. Попробуйте systemd прямо сейчас. Эти знания будут полезны в связи с переходом многих дистрибутивов на systemd.Если вы обнаружили ошибку в статье, автор ее с удовольствием исправит. Пожалуйста напишите в ЛС или на почту о ней. В случае, если вы не можете оставлять комментарии на Хабре, можно написать их в блоге Сообщества InfoboxCloud или в нашей группе в Facebook.
Успешного использования CentOS 7!
habr.com