Работа с линукс серверами

Основы Linux Server для начинающих

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

Сначала поговорим, почему стоит использовать Linux в качестве серверной операционной системы. Многие так привыкли к Windows, что даже слышать про Linux не хотят, я имею в виду даже пользовательские варианты Linux с красивыми и удобными рабочими столами. И на вопрос, почему Вы не хотите использовать Linux? Все отвечают: «да он какой-то корявый!», «Программы, которые я использую в Windows не устанавливаются на Linux» и так далее. Но на самом деле всем пользователям, которые так категоричны к Linux, я хочу сказать, что Linux очень дружелюбная операционная система, и стоит всего лишь немного разобраться в ней и Вам все станет понятно.

Теперь я хочу перечислить некоторые преимущества Linux перед Windows, а также развеять некоторые мифы:

  • Linux – абсолютно бесплатная операционная система (за исключением некоторых платных дистрибутивов), в отличие от Windows;
  • В Linux практически отсутствуют вирусы;
  • Все кто говорит, что «Программы, которые я использую в Windows не устанавливаются на Linux», Вы задумайтесь, а зачем они должны устанавливаться. Ведь это совсем другая ОС, там свои программы! Также можно сказать и про Windows, что «программы которые работают в Linux не устанавливаются в Windows», для Linux существуют много своих программ не уступающим Windows-ким, также многие производители программного обеспечения выпускают свои продукты как для Windows, так и для Linux.
  • Linux более производительней, тем более серверный вариант операционной системы. Объясняю, серверные операционные системы Linux без интерфейсные, а большую часть ресурсов (больше половины. ) как раз занимает интерфейс ОС, т.е. визуальная оболочка (на сегодняшний день получили широкое распространение и версии Windows без графического интерфейса).
  • ОС Linux практически не зависает, (я имею в виду саму операционную систему). Например, все встречались с ситуацией, когда в Windows у Вас все замирает, Вы не можете не пошевелить мышкой, даже ctrl+alt+del нажать не можете, и Вам приходиться перезагружаться. Linux устроена таким образом что такая ситуация исключена, разве что в одном случае когда Вы сами вызываете такую ситуацию.
  • Касаемо серверной ОС Linux она достаточно проста в конфигурирование, в отличие от аналогов Windows, в которых очень много всяких разным прибомбасов, в которых не так легко разобраться. Сама система Linux и все ее службы настраиваются путем редактирования конфигурационных файлов. Это обычные текстовые файлы, зная их расположение и формат, Вы сможете настроить любой дистрибутив, даже если у Вас под рукой нет никаких инструментов, кроме текстового редактора.

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

Читайте также:  Чистая загрузка windows 10 что это такое

Теперь перейдем непосредственно к основам Linux Server. Для примера мы будем использовать дистрибутив Linux Ubuntu Server 10.10.

Основные настройки Linux Server

Описывать процесс установки Ubuntu Server 10.10. я не буду, так как он не сложней, а может даже проще чем установка Windows, единственное, что попрошу сделать в процессе установки, это при «Выборе устанавливаемого программного обеспечения» отметить установку «OpenSSH Server». Это для того, чтобы Вы в дальнейшем могли подключаться к этому компьютеру удаленно с помощью ssh клиента (например, PuTTY). И при этом Вы будете иметь полный доступ к операционной системе с любого компьютера Вашей сети, так как к серверу обычно монитор не цепляют и сам сервер располагается в специально выделенной комнате для серверов (серверной).

В окне «Настройка учетных записей пользователей и паролей» введите свой логин и задайте ему пароль.

После установки Вы впервые загружаетесь, и перед Вашими глазами появляется консоль управления ОС. Для начала введите логин нажмите ввод, а потом пароль, для того чтобы войти в саму ОС. Вы войдете в систему под только что созданным пользователем, который не имеет права суперпользователя root.

Настройка пользователей в Linux

ROOT – стандартный суперпользователь ОС Linux, который имеет максимальные права. Кстати в отличие от Windows, в которой права администратора не самые высокие (есть еще системные), а вот права root самые высокие и если Вы работаете под root-ом и выполняете какие-либо действия, Вас никто не будет спрашивать «Вы действительно хотите сделать это?» как в Windows например, а сразу скажем, убьете систему, без всяких там вопросов. Но, так или иначе, нам сначала необходимо активировать этого пользователя, потому что в дальнейшем нам будут необходимы права суперпользователя (Совет: всегда работайте под обычным пользователем, пока не потребуется перейти в режим root-а), по умолчанию root отключен. Активация учетной записи root делается следующим образом, просто задаем пароль для root.

Система попросит вести пароль пользователя, под которым Вы работаете, а только потом Вы введете новый пароль для будущего root и повторите его.

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

  • sudo – утилита, предоставляющая пользователю некоторые административные привилегии;
  • useradd – утилита, добавляющая пользователя в систему;
  • -d – опция установки домашней директории для пользователя;
  • /home/testuser – путь домашней директории;
  • -m – опция создания домашней директории;
  • testuser – название нашего нового пользователя.

Теперь задаем пароль для нового пользователя.

Настройка сети в Linux

Теперь, когда мы немного разобрались с пользователями, нам необходимо настроить сеть, вполне возможно, что это уже сделал DHCP сервер, но быть может, Вы хотите задать статические ip адреса, адреса шлюзов и DNS (что в принципе для сервера естественно).

Для этого редактируем следующий файл.

  • nano – это стандартный редактор linux;
  • interfaces – файл, отвечающий за конфигурацию сети.

Открыв этот файл, Вы увидите примерно следующее, точнее он будет выглядеть так в конечном итоге, если Вам нужна статическая IP адресация на этом компе.

Здесь eth0 — это Ваше сетевое подключение, их может быть много в зависимости от того, сколько у Вас сетевых карт, Static говорит о том, что это статический ip адрес, если бы это был динамический, то вместо static было указанно DHCP. Ну а остальное, наверное, все понятно.

  • Address – ip адрес компьютера;
  • Netmask – маска подсети;
  • Gateway — шлюз по умолчанию.
Читайте также:  Параметры языковой панели windows 10 не удается получить доступ

Сохраните файл путем нажатия сочетания клавиш ctrl+o и затем выходите из редактора ctrl+x.

Теперь необходимо присвоить DNS сервер, это делается путем редактирования следующего файла.

Впишите или измените следующее.

Где, 192.168.1.100 и 192.168.1.200 адреса наших DNS серверов, если у Вас только один dns сервер, то указывайте только одну строку.

Когда мы все настроили, требуется перезапустить наши сетевые интерфейсы, делается это следующим образом.

Установка программ в Linux Server

В Linux программы устанавливаются совсем по-другому, чем в Windows, поэтому те знания, которые Вы имели при работе с Windows, Вам здесь не помощники. В Linux все программное обеспечение хранится в Репозитариях – это своего рода хранилище пакетов программ специальных для Linux, которое располагается в Интернете, и находится в свободном онлайн распространении, или на компакт дисках. Для того чтобы обновить свои репозитарии (уже в установленной ОС Linux), Вам необходимо выполнить следующую команду (при условии, что у Вас подключен Интернет).

Теперь, когда мы обновили стандартные репозитарии можно что-нибудь установить, предлагаю установить файловый менеджер, один из самых распространенных в Linux это — Midnight Commander (MC). Есть небольшое сходство с FAR-ом, который используется в Windows. Программы в серверных Linux устанавливаются следующим образом.

Где, mc и есть наша программа, которую мы хотим установить, т.е. наш файловый менеджер Midnight Commander.

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

Я думаю для основы этого достаточно, в следующих статьях (Основные команды терминала Linux Ubuntu Server) будем уже разговаривать более конкретно про настройки каких-либо сервисов (демонов). А пока на этом все.

Источник

4 инструмента для одновременного выполнения команд на нескольких Linux-серверах

Статья, перевод которой мы сегодня публикуем, посвящена технологиям одновременного выполнения команд на нескольких Linux-серверах. Речь здесь пойдёт о нескольких широко известных инструментах, реализующих подобный функционал. Этот материал пригодится системным администраторам, которым, например, регулярно приходится проверять состояние множества удалённых систем. Предполагается, что у читателя уже имеется несколько серверов, к которым организован доступ по SSH. Кроме того, при одновременной работе с несколькими машинами весьма полезно настроить SSH-доступ к ним по ключу, без пароля. Такой подход, с одной стороны, повышает безопасность сервера, а с другой — облегчает работу с ним.

1. PSSH — Parallel SSH

PSSH — это опенсорсный набор инструментов командной строки, написанный на Python и предназначенный для параллельного выполнения SSH-команд на множестве Linux-систем. Он быстро работает и лёгок в освоении. PSSH включает в себя такие средства, как parallel-ssh , parallel-scp, parallel-rsync , parallel-slurp и parallel-nuke (подробности об этих средствах можно посмотреть в man).

Перед установкой parallel-ssh в Linux-системе сначала надо установить pip . Вот как это делается в разных дистрибутивах:

Затем parallel-ssh устанавливают с использованием pip :

Далее, нужно внести имена хостов или IP-адреса удалённых Linux-серверов и сведения о портах в файл hosts (на самом деле, назвать его можно как угодно). Тут нам пригодится такая команда:

Вот пример содержимого такого файла:

После того, как в файл будет внесено всё необходимое, пришло время запустить parallel-ssh , передав этой утилите имя файла с использованием опции -h , а также — команды, которые нужно выполнить на всех серверах, адреса которых имеются в файле hosts . Флаг -i утилиты используется для того, чтобы вывести на экран то, что попадёт в стандартные потоки вывода и ошибок после завершения выполнения команд на серверах.

Читайте также:  Скрыть логические диски windows 10

Команда запуска parallel-ssh может выглядеть так:

На следующем рисунке показано использование утилиты при работе с тремя серверами.

Утилита parallel-ssh выполняет команды на нескольких серверах

2. Pdsh — Parallel Remote Shell Utility

Pdsh — это, опять же, опенсорсное решение, представляющее собой оболочку для одновременного выполнения команд на нескольких Linux-серверах.

Вот как установить pdsh в различных дистрибутивах:

Для того чтобы выполнять команды на нескольких серверах, адреса этих серверов, как и при использовании parallel-ssh , надо добавить в файл, который тоже можно назвать hosts . Затем нужно запустить pdsh в следующем виде:

Здесь флаг -w используется для указания файла со списком серверов, флаг -R применяется для указания модуля удалённых команд (среди доступных модулей удалённых команд имеются ssh , rsh , exec ; по умолчанию используется rsh ). Обратите внимание на значок ^ перед именем файла со списком серверов.

Вот как выглядит работа с этой командой.

Выполнение команд на нескольких серверах с использованием pdsh

Если вы, при вызове pdsh , не указали список команд, которые надо выполнить на серверах, эта утилита запустится в интерактивном режиме. Подробности о pdsh можно узнать на соответствующей странице man.

3. ClusterSSH

ClusterSSH — это инструмент командной строки, предназначенный для администрирования кластеров серверов. Он запускает консоль администратора и, для каждого сервера, отдельное окно xterm . После этого на всех этих серверах можно одновременно выполнять одни и те же команды.

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

Можно воспользоваться и такой конструкцией:

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

Работа с несколькими серверами с помощью clusterssh

Команды, введённые в консоли администратора, выполняются на всех серверах. Для выполнения команд на отдельном сервере нужно вводить их в окне, открытом для него.

4. Ansible

Ansible — это популярный опенсорсный инструмент для автоматизации IT-процессов. Он используется для настройки систем и для управления ими, для установки приложений и для решения других задач.

После этого надо добавить адреса серверов в файл /etc/ansible/hosts .

Вот пример фрагмента подобного файла с несколькими системами, объединёнными в группу webservers :

Теперь, для того, чтобы получить сведения команды uptime и узнать, какие пользователи подключены к хостам, входящим в группу webservers , можно воспользоваться следующей конструкцией:

Здесь опция -a используется для указания аргументов, передаваемых модулю, а флаг -u позволяет задать имя пользователя по умолчанию, применяемое для подключения к удалённым серверам по SSH.

Обратите внимание на то, что интерфейс командной строки ansible позволяет выполнять команды лишь по одной.

Взаимодействие с несколькими серверами средствами ansible

Итоги

В этом материале мы рассказали об инструментах, которые предназначены для одновременного выполнения команд на нескольких серверах, работающих под управлением Linux. Если вы подумываете об автоматизации задач по управлению множеством серверов — надеемся, вы найдёте здесь что-нибудь такое, что вам подойдёт.

Уважаемые читатели! Знаете ли вы о каких-нибудь полезных утилитах, упрощающих администрирование большого количества серверов?

Источник

Оцените статью