Телевизоры

Centos просмотр файлов. Простейшие команды Linux

Centos просмотр файлов. Простейшие команды Linux

Нам довольно часто приходится устанавливать различные программы. По умолчанию в системе есть только самое необходимое, а если вам понадобится что-либо специфическое, то вам придется устанавливать программы вручную. Установка программ Linux в некотором смысле проще, чем в Windows. Здесь большинство необходимых программ находятся в официальных репозиториях и для их установки или обновления достаточно выполнить несколько команд.

В этой статье мы рассмотрим как выполняется установка пакетов CentOS 7. Рассмотрим основы работы с пакетным менеджером yum, его возможности, поиск и разрешение зависимостей пакетов.

YUM (Yellowdog Updater Modified) - это пакетный менеджер с открытым исходным кодом, разработанный в компании RedHat для работы с пакетами в формате RPM. С помощью него пользователи и системные администраторы могут устанавливать, удалять и обновлять пакеты в системах, основанных на RedHat.

Программа распространяется под лицензией GPL (General Public License) и любой пользователь может получить доступ к исходникам или даже улучшить код. Пакетный менеджер поддерживает подключение сторонних репозиториев и разрешение зависимостей для установки пакетов. Для улучшения работы Yum могут быть загружены различные плагины.

Утилита работает в консоли, а ее синтаксис очень прост:

$ sudo yum опции команда имя_пакета

Сначала рассмотрим основные команды пакетного менеджера:

  • install - установить пакет;
  • update - обновить пакет или систему;
  • update-to - обновить пакет до версии;
  • update-minimal - обновлять только исправления ошибок;
  • upgrade - полное обновление с обработкой дополнительных возможностей пакетов и их зависимостей;
  • distro-sync - синхронизировать состояния системы или пакета с репозиторием. Например, если была установлена версия пакета 4, а в репозитории только 3, то будет выполнено понижение версии;
  • remove - удалить пакет;
  • autoremove - очистить больше ненужные пакеты;
  • list - показать список пакетов;
  • provides - поиск пакета по функциональности;
  • search - поиск пакета по имени;
  • info - информация о пакете;
  • clean - очистить кэш пакетного менеджера;
  • groups - управление группами пакетов;
  • reinstall - переустановить пакет;
  • downgrade - понизить версию пакета;
  • deplist - вывести все зависимости пакета;
  • repolist - отобразить список репозиториев;
  • fssnapshot - управление снимками состояния системы;
  • check - проверить базу данных пакетов на целостность.

Еще рассмотрим дополнительные опции, которые могут вам понадобиться когда будет выполняться установка rpm CentOS:

  • -y - всегда отвечать на вопросы утилиты утвердительно;
  • -q - минимальный вывод;
  • -v - максимальный вывод;
  • - работать из кэша;
  • -x - игнорировать пакет.

Теперь вы знаете все основные возможности утилиты, рассмотрим некоторые примеры работы с ней.

Установка пакетов в CentOS 7

Перед тем как переходить к установке пакетов CentOS нужно обновить список репозиториев и систему до самой последней версии. Для этого существует команда:

Установка пакета CentOS

Чтобы установить пакет, который есть в официальных репозиториях вам достаточно использовать команду install. Просто наберите эту команду и имя пакета, например, для firefox:

sudo yum install thunderbird

Во время установки вам придется подтвердить, что вы хотите установить именно эту программу нажав клавишу y. Чтобы этого избежать используйте опцию -y:

sudo yum -y install thunderbird

Чтобы посмотреть информацию об установленном пакете используйте команду info:

sudo yum info thunderbird

Для удаления пакета используйте команду remove:

sudo yum remove thunderbird

Поиск пакетов CentOS

Мы знаем точные названия далеко не всех пакетов. Но yum поддерживает возможность поиска, которая поможет вам понять какой установить пакет CentOS 7. Существует две команды для поиска. Первая - это search - позволяет найти пакет по названию:

sudo yum search mysql

Вторая позволяет найти нужный пакет по команде, которая вам нужна, в некоторых случаях это бывает очень удобно:

sudo yum provides lspci

Теперь вы знаете какой пакет нужен и установка пакетов rpm CentOS 7 теперь может быть выполнена очень быстро и вам не нужно открывать множество форумов для поиска информации.

Группы пакетов CentOS

Группы пакетов, это тоже достаточно удобный инструмент. С помощью него вы можете не устанавливать пакеты по одному, а установить сразу целую группу. Сначала посмотрите список доступных групп:

sudo yum group list

sudo yum group info "Стандартный веб-сервер"

Затем. чтобы установить группу пакетов наберите:

sudo yum group install "Стандартный веб-сервер"

Точно так же вы можете обновить группу пакетов, чтобы не обновлять всю систему:

sudo yum group update "Стандартный веб-сервер"

Или удалить:

sudo yum group remove "Стандартный веб-сервер"

Репозитории пакетов CentOS

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

Репозитории в CentOS добавляются не через конфигурационный файл, они устанавливаются путем загрузки и установки rpm файла репозитория. Например, один из самых часто используемых сторонних репозиториев - это EPEL. Его установщик есть в официальных репозиториях, поэтому для подключения достаточно выполнить:

sudo yum install epel-release

Но такая ситуация не со всеми репозиториями. Многие из них хранят файлы установки у себя. Например, репозиторий с различным мультимедийным программным обеспечением nux устанавливается по-другому. Сначала нужно скачать файл репозитория по ссылке. Качайте обязательно последнюю версию иначе ничего работать не будет.

Например, на данный момент самая новая

wget http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

Затем установите загруженный пакет с помощью yum:

sudo yum install nux-dextop-release-0-5.el7.nux.noarch.rpm

Затем обновите список репозиториев и можете устанавливать пакеты:

sudo yum install vlc

Ну и смотрим список репозиториев:

sudo yum repolist

Здесь отображаются все доступные репозитории. Для удаления репозитория будет достаточно удалить его пакет.

Установка программ CentOS в GUI

Если вы не любите пользоваться терминалом, то установка программ CentOS 7 может быть выполнена и через графический интерфейс. Но здесь возможностей намного меньше чем в терминале. Используйте утилиту "Программы" , которая расположена в главном меню:

Система Linux является многозадачной многопользовательской операционной системой, что означает, что значительное число людей могут одновременно запускать много различных приложений одновременно на одном и том же компьютере. Этим система Linux отличается от системы MS-DOS, например, где в одно и то же время на компьютере может работать только один человек.

Опции команд Linux обычно начинаются с символа - , после которого можно указать сразу несколько опций. Например, вместо команды ls -l -F можно ввести команду ls -lF .

В качестве аргументов команд Linux могут выступать списки имён файлов или каталогов. Например, аргументами команды cp выступают имена файлов, которые будут копироваться. Список копируемых файлов замыкается именем файла (или каталога), куда будут копироваться файлы. При копировании более чем одного файла в конце должно стоять имя каталога.

Создание имени пользователя

Перед началом работы в только что установленной системе Linux , необходимо создать себе имя для повседневной работы. Нежелательно использовать для этого имя root , которое резервируется для выполнения особых команд и для работ по поддержанию работоспособности системы.

Для создания имени пользователя, следует войти в систему как пользователь root и использовать команду useradd (или adduser).

Вход в систему

Обычно при входе в систему на экране появляется следующее приглашение:

После ввода имени пользователя и нажатия клавишы Enter появится предложение ввести пароль:

localhost login: oleg Password:

После этого следует ввести пароль (набираемые символы на экране не видны). При неверном вводе пароля на экране появится следующее сообщение:

localhost login: oleg Password: Login incorrect login:

После правильного ввода имени пользователя и пароля происходит вход в систему.

Виртуальная консоль

Консоль системы представляет собой монитор и клавиатуру, непосредственно подключённые к компьютеру. Система Linux , подобно другим версиям системы UNIX , предоставляет доступ к виртуальным консолям, с которых можно осуществлять одновременно несколько сеансов работы в системе.

Для ознакомления с работой в виртуальных консолях следует войти в систему и нажать комбинацию клавиш Alt-F2 . Снова появится приглашение login: (это вторая виртуальная консоль). Для возврата к первой виртуальной консоли необходимо нажать комбинацию клавиш Alt-F1 (происходит возврат в уже начатый сеанс работы).

Только что установленная система Linux предоставляет, как правило, доступ к первым шести виртуальным консолям, к которым можно обращаться, используя комбинации клавиш Alt-Fx. Таким образом, уже на начальном этапе пользователь получает мощный инструмент, позволяющий работать в одно и то же время сразу в нескольких сеансах.

Оболочки и команды

Большая часть общения с системой Linux происходит через посредство командных оболочек (shell ). Командная оболочка - это программа, воспринимающая команды, вводимые с клавиатуры, и преобразующая их в инструкции операционной системе.

После входа в систему, операционная система запускает командную оболочку, после чего можно вводить команды. Команда - это первое слово в командной строке. Все остальное в командной строке воспринимается в качестве аргументов этой команды. В качестве примера создадим (mkdir) каталог commands:

$ mkdir commands

Выход из системы

Для выхода из системы нужно после приглашения оболочки ввести команду:

Изменение пароля

Для смены пароля нужно ввести команду passwd . Команда предложит ввести старый пароль, а потом - новый. Затем команда попросит ввести новый пароль еще раз для подтверждения:

Файлы и каталоги

В операционной системе Linux используется понятие файла (file ). Файл - это некоторый „ кусок “ информации, имеющий собственное имя (filename ). Следует знать, что на диске информация сохраняется только в виде отдельных файлов.

Имена обычных файлов в Linux могут иметь длину до 255 символов и состоять из любых символов, кроме символа с кодом и символа / (слэша). Однако имеется еще ряд символов, которые имеют в оболочке shell специальное значение и которые поэтому не рекомендуется включать в имена. Это следующие символы:

! @ # $ & ~ % * () { } " " \ : ; >

Понятие файла тесно связано с понятием каталога (directory ). Каталог - это набор файлов. Пользователи Windows называют каталог „ папкой “, по аналогии с папкой, в которой содержится много различных листов. Однако эта аналогия неверна, т.к. каталог содержит не собственно файлы, а ссылки на файлы, а также на другие каталоги. Каталогам даются имена, по которым их можно распознавать. Кроме этого, каталоги образуют древовидную структуру; иными словами, существует единственный корневой каталог, содержащий внутри себя все остальные каталоги.

При обращении к файлу указывается путь (path), который может состоять из имени каталога (имен вложенных друг в друга каталогов), за которым пишется имя файла. Имена при этом отделяются друг от друга слэшем (/). Например:

В приведенном примере можно видеть, что имена разделяются символом / . Именно по этой причине они и не могут его содержать.

Дерево каталогов

В большинстве систем Linux используется стандартное расположение файлов, так что местоположение основных системных файлов и программ легко найти. Каталоги образуют структуру в виде дерева, которое начинается с каталога / . Этот каталог называется также корневым каталогом (root directory). Непосредственно к каталогу / примыкают важные подкаталоги /bin , /etc , /dev , /usr и другие.

Текущий каталог

В любой момент времени отдаваемая команда относится к текущему каталогу (current directory ). При входе в систему текущим каталогом назначается домашний каталог (в нашем случае /home/oleg). Обращаясь к файлу, можно указывать как полный путь к этому файлу, так и только путь от текущего каталога.

Предыдуший пример при нахождении, например, в каталоге /home/oleg/docs будет выглядеть так:

$ less mokshadharma/index.xml

Если путь к файлу (например, mokshadharma/index.xml) начинается с символа, отличного от / , то это значит, что к файлу обращаются относительно текущего каталога. Такой способ обращения называется относительным путём (relative path ).

Если имя файла начинается со знака / , то система интерпретирует это как полный путь (full path), т. е. путь, который ведёт к файлу, начиная с корневого каталога / (/home/oleg/docs/mokshadharma/index.xml). Это ещё называют абсолютным путём (absolute path ).

Обращение к домашнему каталогу

В командной оболочке bash , включаемой почти во все вновь устанавливаемые системы Linux , домашний каталог можно обозначать символом ~ . Например, команда:

$ less ~/docs/mokshadharma/index.xml

эквивалентна команде:

$ less /home/oleg/docs/mokshadharma/index.xml

Движение по дереву каталогов

Команда, используемая для движения по дереву каталогов, называется cd - сокращение от change directory (изменить каталог). В качестве примера использования команды cd перейдем в каталог /home/oleg/docs/mokshadharma/ :

$ cd ~/docs/mokshadharma

Теперь из текущего каталога можно обратиться к файлу следующей командой:

$ less index.xml

Для перехода в ближайший каталог более высокого уровня существует команда:

Для перехода в домашний каталог можно отдать команду cd без аргументов:

Просмотр содержимого каталогов

Команда ls (сокращение от list ) выводит на экран список файлов и каталогов (опция -F позволяет получить более полную инфомацию):

$ ls -F ~/docs/mokshadharma ch/ ch01.html ch02.html ch03.html cron.sh* docbook.xsl index.html index.xml pr01.html pt01.html style/

В листинге видим, что к концу имени подкаталогов приписан символ / , а к концу имени исполняемого файла (executable ) приписан символ * .

Создание новых каталогов

Для создания нового каталога используется команда mkdir (сокращение от make directory ). Для примера создадим новый каталог и войдем в него:

$ mkdir example $ cd example

Создание новых файлов

Для создания файлов используются команды touch и cat

Командой touch создается пустой файл:

$ touch file_name

Для создания файла командой cat , предназначенной для перенаправления вывода, на вход ее направляют данные со стандартного ввода (клавиатуры), а вывод команды - в новый файл:

$ cat > new_file

После того, как будет введен необходимый текст, нажимается комбинация клавиш Enter и Ctrl-D или Enter и Ctrl-C , и все введенное будет записано в new_file . Конечно, таким образом создаются, в основном, короткие текстовые файлы.

Смена владельца файла или группы файла

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

Для уничтожения файлов используется команда rm (сокращение от remove ):

$ rm index.xml $

По умолчанию команда rm не всегда настроена таким образом, чтобы выдавать предупреждения перед уничтожением файла.

Для уничтожения каталогов используется команда rmdir , которая уничтожает только пустой каталог.

$ cd .. $ rmdir example $ ls -F $

Для уничтожения каталогов, содержащих файлы и подкаталоги, используется команда rm -rf , пользоваться которой следует с крайней осторожностью, т.к. содержимое уничтожается ей без предупреждения.

Просмотр содержимого файлов

Для просмотра содержимого файлов используются команды more и cat . Команда more выводит содержимое файла частями (по одному экрану за один раз), а команда cat выводит весь файл сразу. Усовершенствованная версия more называется less .

Для просмотра содержимого, выведенного на экран командой less используются клавишы B и Space (можно использовать также Page Up и Page Down).

Экранная документация

Почти все системы семейства UNIX , включая систему Linux , имеют экранную документацию (man pages ). Её тексты содержат документацию по системным командам, ресурсам, конфигурационным файлам и т. д. и могут быть выведены на экран в процессе работы.

Для доступа к экранной документации используется команда man (сокращение от manual ). Например, для просмотра оций команды ls следует ввести команду.

Сегодняшняя статья целиком посвящена новичкам, которые только делают первые шаги на этапе знакомства с операционной системой CentOS. В статье мы собрали топ – 20 команд, которые будут полезны в повседневной работе, управлении сервером и в базовом «траблшутинге».

Команды

  • Для начала редактирования файла нажмите O
  • Сохранения нажмите Esc и:x!
  • Для копирования файлов существует команда cp (copy). Как пример cp /etc/asterisk/extensions_custom.conf /home/admin/ . Тем самым, в директорию /home/admin будет добавлен файл extensions_custom.conf.
  • Чтобы сменить владельца файла, воспользуйтесь chown (change owner). Чтобы сменить владельца всех файлов в директории /etc/asterisk на пользователя asterisk дайте команду chown –R asterisk:asterisk /etc/asterisk
  • Чтобы дать определенные права файлу существует команда chmod . Например, дадим максимальные права файлу /etc/asterisk/extensions_custom.conf командой chmod 777 /etc/asterisk/extensions_custom.conf .
  • Для создания «символьной» ссылки на файл используйте команду ln . Например, ln –s /storage/test /etc/test . Важно! Файл /etc/test не должен быть создан до выполнения команды.
  • Для перезагрузки нужных служб используется директория /etc/init.d/ . Например, команда /etc/init.d/httpd restart перезагрузит WEB – сервер.
  • Для выключения того или иного процесса, вы можете воспользоваться его PID. Чтобы его найти, дайте команду ps axu | grep -i asterisk | grep -v grep . PID процесса будет во второй колонке.
  • Теперь, когда вы знаете PID процесса, дайте команду kill -0 #номер_процесса. Как пример, kill -9 1738 .
  • Чтобы узнать, какой из процессов больше всего «отъедает» ресурсы CPU воспользуйтесь командой top .
  • Если вам необходимо настроить DNS сервера, то внесите изменения в файл /etc/resolv.conf . Например, откройте файл командой vim /etc/resolv.conf и добавьте в него DNS сервер:
    • nameserver 8.8.8.8
  • Чтобы посмотреть загрузку оперативной памяти RAM в ОС CentOS, воспользуйтесь командой free -m . Вывод будет показан в мегабайтах, с указанием общего объема памяти, занятое и свободное пространство.
  • Для проверки использования памяти на жестких дисках дайте команду df -h . Вы также увидите общий объем, занятое и свободное пространство.
  • Чтобы увидеть размер конкретной директории, воспользуйтесь командой du . Например, для определения размера директории /etc/asterisk/ воспользуйтесь du -sh /etc/asterisk/ .
  • Если вам необходимо узнать версию установленного пакет, воспользуйтесь командой rpm . Например, проверки версии yum дайте команду rpm -qa | grep -i yum .
  • Процесс – это системный термин, который используется для описания приложения или программы. К примеру, когда мы открываем веб-браузер Google Chrome, мы можем сказать, что это процесс ответственный за запуск/выполнение Chrome, который был запущен и выполняется до тех пор пока мы не закроем браузер. Даже когда мы выполняем любую bash команду, появляется новый процесс. Если мы откроем одно и тоже приложение дважды, появится два процесса. В этом руководстве вы узнаете, как узнать список процессов Linux с помощью командной строки. Это необходимо, если вы хотите узнать какие процессы запущены в данный момент, каким пользователем запущен процесс или просто узнать какой из процессов использует больше всего ресурсов сервера.

    Перед тем, как вы начнете это руководство, вам понадобится следующее:

    • Доступ к командной строке

    Шаг 1 - Просмотр списка процессов Linux

    Список терминов которые вам необходимо знать перед прочтением руководства:

    1. PID – идентификатор процесса. Каждый процесс имеет свой 5 значный код. Эти числа могут закончиться и начать повторяться, но в любое другое время у каждого процесса свой уникальный PID.
    2. PPID – родительский идентификатор процесса. Идентификатор процесса который запустил этот конкретный процесс.

    Две самые часто используемые команды для показа списка процессов Linux это top и ps. Разница между ними заключается в том, что top чаще используется в интерактивном режиме, а ps больше используется в скриптах, в сочетании с другими bash командами.

    top – возможно одна из самых базовых и часто используемых команд для отображения процесса, который потребляет наибольшее количество ресурсов сервера. После выполнения данной команды, вы должны увидеть похожее окно:

    top само по себе является приложением, после выполнения команды появится новая таблица с постоянно обновляющимся списком процессов Linux. С данной таблицей можно взаимодействовать посредством клавиатуры. Вот несколько примеров:

    • h или ? – отобразить окно помощи со всеми командами и другой полезной информацией.
    • space – нажатие пробела на вашей клавиатуре вручную обновит таблицу процессов.
    • f – добавить поле для отображения в новом окне или удалить определенные поля в таблице.
    • q – выйти из приложения или дополнительных окон принадлежащих к нему. К примеру, после использования функции f .
    • l – включить отображение информации о средней загрузке и времени работы.
    • m – включить отображение информации о памяти.
    • P (Shift + p) – отсортировать процессы по количеству используемой памяти.
    • s – изменить задержку между обновлениями списка (вам будет предложено ввести значение в секундах).

    Вы также можете использовать определенные опции с командой top:

    • -d delay – укажите задержку между обновлениями вместо delay .
    • -n number – обновить страницу определенное число раз и выйти из приложения. Вместо number введите значение.
    • -p pid – отображать и контролировать процессы только с определенным (pid ).
    • -q – обновлять без какой-либо задержки.

    Для получения информации о других полезных командах для клавиатуры, посетите данный сайт.

    Также, вы можете использовать команду man top для просмотра полезной информации об этих командах.

    Другие полезные применения команды top:

    • Для отображения процессов определенного пользователя, вы можете использовать это: top -u user
    • Для закрытия процесса, нажмите в окне приложения top клавишу k на клавиатуре. Далее, вам будет предложено вписать идентификатор процесса (pid ), который вы хотите закрыть.
    • Вы можете сохранить текущие настройки команды top используя сочетание клавиш Shift + W . Эти настройки будут сохранены в директории /root/.toprc

    ps – Еще одна полезная команда для отображения списка процессов Linux. Вот несколько опций часто используемых с этой командой:

    • -e – отображение всех процессов.
    • -f – полное форматирование списка.
    • -r – отображение запущенных процессов.
    • -u – опция для показа процессов определенного пользователя или пользователей.
    • –pid – опция для фильтрации процессов по PID.
    • –ppid – опция для фильтрации процессов по родительскому PID.
    • -C – фильтровать процессы по их имени или команде.
    • -o – отображение информации, связанной с пробелом или списком ключевых слов, разделенных запятыми.

    Вот несколько полезных примеров того, как вы можете использовать команду ps:

    1. ps -ef – отобразит список процессов, которые запущены прямо сейчас (еще одна похожая команда ps aux)
    2. ps -f -u user1,user2 – отобразит все процессы основанные на предоставленном UID (ID пользователя или имени пользователя).
    3. ps -f –pid id – отобразит процессы основанные на pid. Введите идентификатор процесса вместо id . Может быть использована вместе с PPID .
    4. ps -C command/name – фильтрация процессов по их имени или команде.
    5. ps aux –sort=-pcpu,+pmem – отобразит процессы потребляющие большое количество ресурсов ЦПУ.
    6. ps -e -o pid,uname,pcpu,pmem,comm – используется для фильтрации определенных столбцов с последующим их отображением.
    7. ps -e -o pid,comm,etime – эта команда отобразит время прошедшее с запуска процесса.

    Шаг 2 - Закрытие и расстановка приоритета процессов

    В предыдущем шаге мы уже рассказывали о том, как можно закрыть процесс с помощью команды top. Этот же результат может быть достигнут при помощи команды kill. К примеру:

    kill pid – впишите вместо PID идентификатор процесса, который вы хотите закрыть. Если процесс довольно упрямый и не хочет быть закрыт, вы можете использовать команду: kill -9 pid.

    Еще одной командой для управления процессами является NICE. Обычно она используется для расстановки приоритетов для процессов, когда на вашей системе их запущено действительно много. В этом случае ваша система узнает какие из процессов являются важными и установит для них более высокий приоритет. Проще говоря, она помогает вам расставить приоритеты процессов от более важных к менее важным. Система будет запускать процесс, который имеет меньший приоритет только в том случае, если для этого имеется достаточно ресурсов ЦПУ. Этой команде можно задать значение от -20 до 19 , чем меньше значение, тем выше приоритет процесса. Стандартный приоритет для всех приложений 0 . Основным синтаксисом будет:

    • nice -n ‘значение’ process name – Пример: nice -n 10 name. Это начнет новый процесс с выбранным приоритетом (10 ).
    • Если вы хотите задать значение приоритета для уже запущенного приложения используйте: renice ‘значение’ -p ‘PID’ – Пример: renice ’10’ -p ‘54125’.

    Заключение

    В этом руководстве вы научились, как узнать список процессов Linux. Также вы познакомились с командами позволяющими управлять данными процессами. С данными командами существует множество комбинаций, поэтому не бойтесь экспериментировать.

    CentOS - это свободный дистрибутив, основанный на исходном коде Red Hat Enterprise Linux, фактически, он создается с этих исходников практически без изменений, разработчики только вырезают весь брендинг Red Hat. Но в отличие от Red Hat, CentOS полностью бесплатна и получает регулярные обновления, спустя немного времени после выхода их для Red Hat поскольку они тоже собираются из исходного кода.

    Очень часто CentOS применяется в качестве операционной системы для серверов. В одной из предыдущих статей мы рассматривали как выполняется . Сегодня будет рассмотрена настройка сервера CentOS 7 после установки. Мы рассмотрим все основные параметры, которые вам нужно будет изменить чтобы подготовить ваш сервер к работе.

    1. Настройка статического IP адреса

    Первое, что нужно сделать - это настроить сеть. На персональных компьютерах используется получение IP адреса по DHCP, и компьютер при каждом запуске будет иметь другой адрес, сервер должен всегда работать на одном адресе, поэтому мы присваиваем ему статический IP. Также нужно настроить DNS и шлюз по умолчанию. Но сначала установите утилиту net-tools:

    yum install net-tools

    Сначала посмотрим доступные сетевые интерфейсы и текущий IP адрес:

    Теперь можно перейти к настройке интерфейса через файл /etc/sysconfig/network-scripts/ifcfg-enp0s3, например, с помощью редактора vi:

    vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

    IPADDR = ваш_ip
    GATEWAY = шлюз_для_доступа_к_сети
    DNS1 = IP_адрес_DNS1
    DNS2 = IP_адрес_DNS2

    После внесения изменений этот файл будет выглядеть вот так:

    Затем останется перезагрузить сеть чтобы применить новые настройки:

    service network restart

    Потом, при необходимости вы можете сменить IP адрес таким же способом.

    2. Имя компьютера

    Следующее что нам нужно сделать - это изменить имя компьютера. Текущее имя компьютера хранится в переменной HOSTNAME:

    Чтобы его изменить вам нужно отредактировать файл /etc/hostname и заменить там старое имя на новое.

    vi /etc/hostname

    Также вы можете использовать команду hostnamectl:

    hostnamectl set-hostname "имя_хоста"

    3. Обновление CentOS

    После установки принято обновлять программное обеспечение до самой новой версии, чтобы установить все обновления безопасности. Для обновления списка пакетов в репозиториях и установки новых версий выполните такую команду:

    yum update && yum upgrade

    4. Установите браузер

    Во многих случаях приходится использовать CentOS из командной строки без графического интерфейса, поэтому может понадобиться браузер, чтобы найти что-либо в интернете или проверить работоспособность сайтов из командной строки. Для установки браузера links наберите:

    yum install links

    Вы можете найти и другие консольные браузеры для Linux, например, Lynx или Elinks.

    5. Настройка часового пояса

    Правильная настройка часового пояса очень важна для сервера. Это уберет путаницу в логах и позволит вашим приложениям отображать правильную дату и время. Для настройки используется утилита timedatectl.

    Сначала получите список часовых поясов:

    timedatectl list-timezones

    Затем установите нужный, например, Europe/Kyiv:

    timedatectl set-timezone Europe/Kyiv

    Затем проверьте:

    7. Настройка локали

    Локаль определяет язык и кодировку, которая будет использоваться в вашей системе, например, для включения русского языка установите значение ru_RU.UTF-8

    localectl set-locale LANG=ru_RU.UTF-8

    Затем смотрим что получилось:

    Затем устанавливаем раскладку клавиатуры:

    localectl set-keymap us

    8. Отключите SELinux

    Набор политик SELinux предназначены для контроля доступа к файлам в системе Linux, но если вы не собираетесь их использовать, то такую возможность можно отключить. Для этого выполните:

    sed -i "s/(^SELINUX=).*/SELINUX=disabled/" /etc/selinux/config

    Затем перезагрузите компьютер и проверьте, действительно ли возможность была отключена:

    9. Создайте пользователя

    Использовать систему от имени суперпользователя небезопасно и тем более небезопасно оставлять открытым доступ к root аккаунту по ssh. Сначала создайте обычного пользователя и установите для него пароль:

    useradd имя_пользователя
    # passwd пароль

    Затем добавьте пользователя в группу wheel, чтобы разрешать пользователю работать от имени администратора:

    usermod -G wheel имя_пользователя

    Теперь осталось подправить настройки sudo, для этого добавьте такую строчку, если ее там еще нет:

    %wheel ALL = (ALL) ALL

    10. Включите сторонние репозитории

    Добавлять сторонние репозитории к производственному серверу - это не очень хорошая идея, и в некоторых случаях может привести к плохим последствиям. Однако иногда могут понадобиться программы, которых в официальных репозиториях нет. Поэтому рассмотрим как добавить несколько репозиториев.

    Для добавления репозитория Enterprise Linux Repository (EPEL) выполните:

    yum install epel-release
    # rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

    10. Настройка SSH

    Чаще всего нам приходится работать с серверами не напрямую, а по сети, через SSH. Обычно служба SSH уже установлена и активирована, но для ее правильной работы нужно выполнить несколько настроек. Сначала нужно настроить использование только безопасного протокола, для этого откройте файл /etc/ssh/ssh_config и удалите строчку Protocol 2,1. А вместо нее добавьте:

    Также нужно отключить вход от имени суперпользователя:

    PermitRootLogin no

    11. Установите веб-сервер Apache

    Если вы планируете использовать машину в качестве веб-сервера, вам понадобится Apache. С помощью него вы можете размещать веб-сайты, мультимедиа контент, клиентские программы и многое другое. Для установки выполните:

    yum install httpd

    Когда установка будет завершена, перед тем, как вы сможете перейти к работе нужно разрешить HTTP в брандмауере:

    firewall-cmd --add-service=http
    # firewall-cmd -permanent -add-port=3221/tcp
    # firewall-cmd --reload

    Теперь осталось добавить Apache в автозагрузку:

    systemctl start httpd.service
    # systemctl enable httpd.service

    12. Установите PHP

    PHP - это современный язык веб-приложений и скриптов. Он часто используется в качестве языка программирования общего назначения. Для установки выполните:

    После установки необходимо перезапустить Apache:

    echo -e "" > /var/www/html/phpinfo.php

    Затем откройте созданный файл в браузере:

    links http://127.0.0.1/phpinfo.php

    13. Установка базы данных

    MariaDB - это база данных, основанная на исходном коде MySQL. Дистрибутивы Linux на базе Red Hat используют MariaDB вместо MySQL. Базы данных - незаменимая вещь на сервере, поэтому настройка CentOS после установки должна включать ее установку. Для установки MariaDB наберите:

    yum install mariadb-server mariadb

    Затем запустите и добавьте в автозагрузку:

    systemctl start mariadb.service
    # systemctl enable mariadb.service

    И разрешите в использование службы в брандмауэре:

    firewall-cmd --add-service=mysql

    Осталось запустить скрипт настройки:

    /usr/bin/mysql_secure_installation

    14. Установите GCC

    GCC расшифровывается как GNU Compiler Collection, это набор компиляторов, которые считаются стандартом для сборки программ в Linux. Но по умолчанию он не поставляется с CentOS, поэтому для установки наберите:

    Затем вы можете посмотреть версию GCC:

    15. Установите Java

    Java - это объективно-ориентированный язык программирования общего назначения. Он не устанавливается по умолчанию, поэтому настройка CentOS 7 после установки может включать и его установку. Для этого выполните:

    yum install java

    Затем проверьте версию:

    Выводы

    В этой статье мы рассмотрели как выполняется настройка сервера CentOS 7 после установки. Как видите, есть много элементарных действий, которые желательно сделать перед тем, как использовать сервер на производстве. Если у вас остались вопросы, спрашивайте в комментариях!