Как научиться администрировать linux

Обновлено: 03.07.2024

В этом видео автор рассказывает, как установить дистрибутив Ubuntu Linux на машину под управлением Windows. В качестве контейнера будет использоваться VirtualBox. Устанавливать на уроке будем серверный Linux без графической оболочки – становимся true Linux админом.

Вся серия, как и эта часть, нацелена на повышение скила работы в терминале и тренировки различных консольных команд. Три команды, которые будут рассмотрены – это одни из базовых инструментов, и их необходимо знать. Для получения справки по ключам каждой команды, которая рассматривается, и не только, можно использовать встроенный помощник: man [имя команды].

Новичкам любой системы Linux иногда не понятна строка, после которой печатаются вводимые команды. Это строка приветствия, которая несет в себе много полезной информации: имя пользователя, версию ОС, имя сервера, текущую папку и разделитель.

В основном, все команды в Linux находятся в директории bin – об этом и пойдет речь.

В Linux придется работать с текстовыми файлами и файлами конфигурации из консоли. Копирование, переименование и перемещение – далеко не все операции, которые нужно освоить. Читать содержимое можно не только с помощью текстовых редакторов, но и командой cat. Последнее, что автор рассматривает – это излюбленное каждым Linux админом удаление файлов командой rm.

Практически у всех команд Linux есть флаги (они же ключи или опции). Это такие инструменты, которые модифицируют вывод или выполнение команды. Вызов команды может принимать разное количество ключей, например, “tar -cvjf”. Для получения документации по работе команды или по флагам можно использовать флаг -h или --help.

ОС Linux очень строго относится к пользователям и правам доступа. Разным юзерам назначаются разные привилегии из соображения безопасности и для того, чтобы не допустить несанкционированный доступ к системе или ее компоненту. Например, обычный пользователь не сможет удалить или отредактировать конфигурационный файл какой-либо программы, а админ (он же root) имеет полный доступ к любой папке и файлу в системе.

В этом ролике автор объясняет, как работает перенаправление результатов работы с выхода одной программы на вход другой. Этот мощный инструмент помогает администраторам эффективно использовать все возможности консоли. Для того чтобы передать выполнение другой программе, используется символ конвейера ( | ): cat /var/log/dhcp.log | grep alpha. Символ конвейера можно использовать несколько раз подряд после каждой команды.

Операционные системы *nix позволяют запускать команды в терминале при помощи шелла. Шелл бывает разным. В этом примере рассматривается bash – горячо любимый всяким Linux админом, а файл настроек этого шелла – это .bashrc в домашней папке каждого пользователя. В этом файле описываются алиасы (сокращения) программ для удобного использования и запоминания ключей.

Строку приветствия можно настроить под себя через файл .bashrc совершенно любым способом. При помощи опции export PS1 можно подставлять любое значение и вызов любой функции. В видеолекции приводятся примеры настройки, которые можно сразу применять и видоизменять.

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

Очень полезная видеолекция, т. к. в ней рассматривается инструмент cron, который позволяет управлять запуском приложений и программ по расписанию. Расписание находится в файле crontab и имеет специфическую структуру с минутами, часами и прочими параметрами.

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

Linux-админом часто используется менеджер пакетов apt-get install для установки чего-либо в систему. Но бывают случаи, когда в сети нет нужного пакета, и его приходится компилить самому. Для этого нужно скачать исходный код и собрать его по инструкции README. Весь процесс описывается в этой лекции.

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

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

Администрирование Linux

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

  • Удаленный доступ;
  • Диагностика сети;
  • Мониторинг ресурсов системы;
  • Проверка работоспособности сервисов;
  • Просмотр логов;
  • Установка программного обеспечения.

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

Удаленный доступ к серверу Linux

Чаще всего веб-мастера и администраторы используют для удаленного доступа и загрузки файлов на сервер протокол SSH и FTP. По SSH вы не только передавать файлы, но и выполнять на сервере различные команды Linux. Протокол FTP позволяет лишь загружать файлы на сервер, перемещать и переименовывать их. Если кратко, то, например, чтобы перенести файлы сайта с одного сервера на другой, сначала мы создаем архив с помощью tar:

tar cvzf backup.tar.gz /папка/с/файлами

Обратите внимание, что опцию p передавать не нужно, чтобы права на файлы не сохранились, затем, вам нужно будет установить права вручную. Когда архив готов, используем копирование scp для передачи его на сервер:

scp backup.tar.gz user@ip_сервера:/var/www/public_html/

Затем авторизуемся на сервере и распаковываем архив:

ssh user@ip_сервера
$ cd /var/www/public_html/
$ tar xvzf backup.tar.gz

После этого останется сменить владельца для распакованных данных на имя пользователя веб-сервера:

chown -R www-data /var/ww/public_html/project/

Большинство действий по администрированию сервера вам придется выполнять так что лучше понять как пользоваться ssh.

Диагностика сети Linux

Этот момент администрирования Linux серверов подходит больше для компьютеров, к которым у вас есть физический доступ, но может в некоторых случаях полезным и на сервере. Самый простой способ проверить есть ли доступ к сети на компьютере, это выполнить команду ping:


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


Убедитесь, что правильно задан шлюз доступа к сети:


Обычно, это может подсказать вам, что конфигурация сети выполнена неверно, например, компьютер не получает нужные данные по протоколу DHCP или заданы неправильные статические настройки. Также проблема может быть в DNS. Возможно, сеть есть, но сервер не может получить ip адрес на основе доменного имени, для проверки вы можете выполнить ping какого-либо внешнего ip:


Если же сеть не работает, и она настроена правильно, то можно еще попытаться узнать на каком узле обрывается соединение. Для этого используется команда traceroute:


Все эти данные помогут понять в чем была ошибка и как ее решить.

Мониторинг ресурсов системы

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


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

В утилите вы можете сортировать процессы по загрузке процессора, колонка %CPU% или по потреблению памяти %MEM%. Так вы можете очень просто понять в чем проблема и кто перегружает систему. Например, веб-сервер Apache потребляет слишком много памяти, поэтому, возможно, будет эффективнее использовать Nginx.

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

Проверка работоспособности сервисов

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

Или запустить ее, если она не была запущена до этого:

Если служба не запустилась, то вы можете посмотреть информацию об этом с помощью команды status или же выполнить:

Просмотр логов

Если какой-либо сервис или системный компонент не работает, то первое что нужно сделать - это смотреть логи. Если не помогает - включить режим отладки и смотреть логи. В 90% вы найдете ответ почему ничего не работает в логах программы. Логи всех служб и системные логи находятся в папке /var/log/. Некоторые службы создают отдельные папки для своих файлов, например, /var/log/nginx или /var/log/apache.

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

tail -f /путь/к/лог/файлу

С помощью этой команды вы можете в реальном времени просматривать изменения в конце лог файла. Если опцию -f не указывать, то команда tail покажет десять последних строк из лога:

Также для просмотра лог файла вы можете использовать любой текстовый редактор или утилиту cat.

Установка программного обеспечения

Установка программного обеспечения, одна из распространенных задач администрирования. В Linux большинство программ можно установить из официальных или сторонних репозиториев. Некоторые программы нужно собирать из исходников. Для установки софта из репозиториев используется пакетный менеджер. Существуют два основных пакетных менеджера, которые применяются на серверах, это yum, который используется в CentOS и apt, который применяется в Ubuntu. Работают пакетные менеджеры похожим образом и все их мы рассматривали в отдельных статьях, смотрите установка программ CentOS и установка программ Ubuntu. Например, чтобы установить пакет в Ubuntu используйте такую команду:

sudo apt install имя_пакета

А в CentOS/RedHat:

sudo yum install имя_пакета

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

Выводы

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

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

2. Серия уроков "Научись Линукс"

Данный видеокурс предназначен для начала работы с Линукс. Поможет в установке данной системы на ваш ПК. Аудитория данного видеокурса - это люди, которые немного, но слышали про Линукс.

3. Курс лекций по администрированию Линукс

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

4. Программирование на Bash

Отличный англоязычный туториал по изучению программирования на Bash. Поможет вам разобраться в очень важном аспекте работы с Линукс, но лучше всего начать изучение этого курса после просмотра одного из предыдущих.

5. Администрирование Линукс

Данный курс обеспечит вас базовыми знаниями Линукс и поможет получить сертификат LPIC-1. Если вы хотите подкрепить свои знания сертификатом LPIC-1, то этот курс точно для вас.

6. Основы Линукс

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

7. Основы работы с командной строкой

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

8. Видеокурс по GNU/Linux Владимира Моженкова

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

9. Серия уроков "Ваш путь в мир Линукс!"

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

10. Администрирование Linux

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

Читайте также: