Centos команды. Группы пакетов CentOS. Движение по дереву каталогов
Система 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 - это свободный дистрибутив, основанный на исходном коде Red Hat Enterprise Linux, фактически, он создается с этих исходников практически без изменений, разработчики только вырезают весь брендинг Red Hat. Но в отличие от Red Hat, CentOS полностью бесплатна и получает регулярные обновления, спустя немного времени после выхода их для Red Hat поскольку они тоже собираются из исходного кода. Очень часто CentOS применяется в качестве операционной системы для серверов. В одной из предыдущих статей мы рассматривали как выполняется . Сегодня будет рассмотрена настройка сервера CentOS 7 после установки. Мы рассмотрим все основные параметры, которые вам нужно будет изменить чтобы подготовить ваш сервер к работе. Первое, что нужно сделать - это настроить сеть. На персональных компьютерах используется получение 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 После внесения изменений этот файл будет выглядеть вот так: Затем останется перезагрузить сеть чтобы применить новые настройки: service network restart Потом, при необходимости вы можете сменить IP адрес таким же способом. Следующее что нам нужно сделать - это изменить имя компьютера. Текущее имя компьютера хранится в переменной HOSTNAME: Чтобы его изменить вам нужно отредактировать файл /etc/hostname и заменить там старое имя на новое. vi /etc/hostname Также вы можете использовать команду hostnamectl: hostnamectl set-hostname "имя_хоста" После установки принято обновлять программное обеспечение до самой новой версии, чтобы установить все обновления безопасности. Для обновления списка пакетов в репозиториях и установки новых версий выполните такую команду: yum update && yum upgrade Во многих случаях приходится использовать CentOS из командной строки без графического интерфейса, поэтому может понадобиться браузер, чтобы найти что-либо в интернете или проверить работоспособность сайтов из командной строки. Для установки браузера links наберите: yum install links Вы можете найти и другие консольные браузеры для Linux, например, Lynx или Elinks. Правильная настройка часового пояса очень важна для сервера. Это уберет путаницу в логах и позволит вашим приложениям отображать правильную дату и время. Для настройки используется утилита timedatectl. Сначала получите список часовых поясов: timedatectl list-timezones Затем установите нужный, например, Europe/Kyiv: timedatectl set-timezone Europe/Kyiv Затем проверьте: Локаль определяет язык и кодировку, которая будет использоваться в вашей системе, например, для включения русского языка установите значение ru_RU.UTF-8 localectl set-locale LANG=ru_RU.UTF-8 Затем смотрим что получилось: Затем устанавливаем раскладку клавиатуры: localectl set-keymap us Набор политик SELinux предназначены для контроля доступа к файлам в системе Linux, но если вы не собираетесь их использовать, то такую возможность можно отключить. Для этого выполните: sed -i "s/(^SELINUX=).*/SELINUX=disabled/" /etc/selinux/config Затем перезагрузите компьютер и проверьте, действительно ли возможность была отключена: Использовать систему от имени суперпользователя небезопасно и тем более небезопасно оставлять открытым доступ к root аккаунту по ssh. Сначала создайте обычного пользователя и установите для него пароль: useradd имя_пользователя Затем добавьте пользователя в группу wheel, чтобы разрешать пользователю работать от имени администратора: usermod -G wheel имя_пользователя Теперь осталось подправить настройки sudo, для этого добавьте такую строчку, если ее там еще нет: %wheel ALL = (ALL) ALL Добавлять сторонние репозитории к производственному серверу - это не очень хорошая идея, и в некоторых случаях может привести к плохим последствиям. Однако иногда могут понадобиться программы, которых в официальных репозиториях нет. Поэтому рассмотрим как добавить несколько репозиториев. Для добавления репозитория Enterprise Linux Repository (EPEL) выполните: yum install epel-release Чаще всего нам приходится работать с серверами не напрямую, а по сети, через SSH. Обычно служба SSH уже установлена и активирована, но для ее правильной работы нужно выполнить несколько настроек. Сначала нужно настроить использование только безопасного протокола, для этого откройте файл /etc/ssh/ssh_config и удалите строчку Protocol 2,1. А вместо нее добавьте: Также нужно отключить вход от имени суперпользователя: PermitRootLogin no Если вы планируете использовать машину в качестве веб-сервера, вам понадобится Apache. С помощью него вы можете размещать веб-сайты, мультимедиа контент, клиентские программы и многое другое. Для установки выполните: yum install httpd Когда установка будет завершена, перед тем, как вы сможете перейти к работе нужно разрешить HTTP в брандмауере: firewall-cmd --add-service=http Теперь осталось добавить Apache в автозагрузку: systemctl start httpd.service PHP - это современный язык веб-приложений и скриптов. Он часто используется в качестве языка программирования общего назначения. Для установки выполните: После установки необходимо перезапустить Apache: echo -e "" > /var/www/html/phpinfo.php Затем откройте созданный файл в браузере: links http://127.0.0.1/phpinfo.php MariaDB - это база данных, основанная на исходном коде MySQL. Дистрибутивы Linux на базе Red Hat используют MariaDB вместо MySQL. Базы данных - незаменимая вещь на сервере, поэтому настройка CentOS после установки должна включать ее установку. Для установки MariaDB наберите: yum install mariadb-server mariadb Затем запустите и добавьте в автозагрузку: systemctl start mariadb.service И разрешите в использование службы в брандмауэре: firewall-cmd --add-service=mysql Осталось запустить скрипт настройки: /usr/bin/mysql_secure_installation GCC расшифровывается как GNU Compiler Collection, это набор компиляторов, которые считаются стандартом для сборки программ в Linux. Но по умолчанию он не поставляется с CentOS, поэтому для установки наберите: Затем вы можете посмотреть версию GCC: Java - это объективно-ориентированный язык программирования общего назначения. Он не устанавливается по умолчанию, поэтому настройка CentOS 7 после установки может включать и его установку. Для этого выполните: yum install java Затем проверьте версию: В этой статье мы рассмотрели как выполняется настройка сервера CentOS 7 после установки. Как видите, есть много элементарных действий, которые желательно сделать перед тем, как использовать сервер на производстве. Если у вас остались вопросы, спрашивайте в комментариях!
Сегодняшняя статья целиком посвящена новичкам, которые только делают первые шаги на этапе знакомства с операционной системой CentOS. В статье мы собрали топ – 20 команд, которые будут полезны в повседневной работе, управлении сервером и в базовом «траблшутинге». Нам довольно часто приходится устанавливать различные программы. По умолчанию в системе есть только самое необходимое, а если вам понадобится что-либо специфическое, то вам придется устанавливать программы вручную. Установка программ Linux в некотором смысле проще, чем в Windows. Здесь большинство необходимых программ находятся в официальных репозиториях и для их установки или обновления достаточно выполнить несколько команд. В этой статье мы рассмотрим как выполняется установка пакетов CentOS 7. Рассмотрим основы работы с пакетным менеджером yum, его возможности, поиск и разрешение зависимостей пакетов. YUM (Yellowdog Updater Modified) - это пакетный менеджер с открытым исходным кодом, разработанный в компании RedHat для работы с пакетами в формате RPM. С помощью него пользователи и системные администраторы могут устанавливать, удалять и обновлять пакеты в системах, основанных на RedHat. Программа распространяется под лицензией GPL (General Public License) и любой пользователь может получить доступ к исходникам или даже улучшить код. Пакетный менеджер поддерживает подключение сторонних репозиториев и разрешение зависимостей для установки пакетов. Для улучшения работы Yum могут быть загружены различные плагины. Утилита работает в консоли, а ее синтаксис очень прост: $ sudo yum
опции
команда
имя_пакета
Сначала рассмотрим основные команды пакетного менеджера: Еще рассмотрим дополнительные опции, которые могут вам понадобиться когда будет выполняться установка rpm 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 Мы знаем точные названия далеко не всех пакетов. Но yum поддерживает возможность поиска, которая поможет вам понять какой установить пакет CentOS 7. Существует две команды для поиска. Первая - это search - позволяет найти пакет по названию: sudo yum search mysql Вторая позволяет найти нужный пакет по команде, которая вам нужна, в некоторых случаях это бывает очень удобно: sudo yum provides lspci Теперь вы знаете какой пакет нужен и установка пакетов rpm CentOS 7 теперь может быть выполнена очень быстро и вам не нужно открывать множество форумов для поиска информации. Группы пакетов, это тоже достаточно удобный инструмент. С помощью него вы можете не устанавливать пакеты по одному, а установить сразу целую группу. Сначала посмотрите список доступных групп: sudo yum group list sudo yum group info "Стандартный веб-сервер" Затем. чтобы установить группу пакетов наберите: sudo yum group install "Стандартный веб-сервер" Точно так же вы можете обновить группу пакетов, чтобы не обновлять всю систему: sudo yum group update "Стандартный веб-сервер" Или удалить: sudo yum group remove "Стандартный веб-сервер" В официальных репозиториях есть далеко не все нужные пакеты. Если серверные программы там можно найти без труда, то с программами для рабочего стола, теми же кодеками, возникнут проблемы. Их нужно устанавливать из сторонних репозиториев. Репозитории в 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 7 может быть выполнена и через графический интерфейс. Но здесь возможностей намного меньше чем в терминале. Используйте утилиту "Программы"
, которая расположена в главном меню: Дерево каталогов
Текущий каталог
Обращение к домашнему каталогу
Движение по дереву каталогов
Просмотр содержимого каталогов
Создание новых каталогов
Создание новых файлов
Смена владельца файла или группы файла
Просмотр содержимого файлов
Экранная документация
1. Настройка статического IP адреса
GATEWAY = шлюз_для_доступа_к_сети
DNS1 = IP_адрес_DNS1
DNS2 = IP_адрес_DNS22. Имя компьютера
3. Обновление CentOS
4. Установите браузер
5. Настройка часового пояса
7. Настройка локали
8. Отключите SELinux
9. Создайте пользователя
# passwd пароль10. Включите сторонние репозитории
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm10. Настройка SSH
11. Установите веб-сервер Apache
# firewall-cmd -permanent -add-port=3221/tcp
# firewall-cmd --reload
# systemctl enable httpd.service12. Установите PHP
13. Установка базы данных
# systemctl enable mariadb.service14. Установите GCC
15. Установите Java
Выводы
Команды
Установка пакетов в CentOS 7
Установка пакета CentOS
Поиск пакетов CentOS
Группы пакетов CentOS
Репозитории пакетов CentOS
Установка программ CentOS в GUI