Всем системным администраторам, независимо от того, администрируете вы Windows или Linux нужен определенный набор программ, инструментов и утилит, которые помогут справиться с непредвиденной ситуацией, проанализировать систему или облегчат решение повседневных задач. Существует очень много таких решений, в том числе и с открытым исходным кодом.
В этой статье мы рассмотрим лучшие программы для системного администратора 2016, которые вы можете использовать в своей работе. В нашем списке будут не только обычные утилиты и программы для определенной операционной системы, но и целые образы. А теперь перейдем к нашему списку.
1. Windows subsystem for Linux
В последнее время компания Microsoft начала более лояльно относится к Linux, для упрощения работы системных администраторов и разработчиков была выпущена подсистема Windows для Linux, которая позволяет запускать программы Linux в Windows. Это больше чем эмулятор, WSL позволяет запускать окружение Ubuntu прямо в Windows. Это окружение включает оболочку bash и такие популярные утилиты, как sed, awk, grep и другие. Системным администраторам, которым приходится просматривать логи на Windows сервере понравится такая возможность.
2. PowerShell для Linux
Некоторые системные администраторы в основном работают в Windows, но время от времени должны переключаться на Linux. Чтобы им помочь компания Microsoft портировала PowerShell на Linux. Теперь эта программа распространяется с открытым исходным кодом.
3. Vim
Хороший текстовый редактор — это один из основных инструментов системного администратора, поскольку во многих ситуациях приходится вносить правки в конфигурационные файлы и важно делать это очень быстро. Редактору Vim недавно исполнилось 25 лет, и он все еще очень активно развивается.
Он выгодно отличается от всех других редакторов тем, что позволяет выполнять редактирование текста и перемещение по нему очень быстро, не отрывая пальцы от основной клавиатуры. Для этого в редакторе реализовано два режима — командный режим, с помощью которого вы можете перемещаться по тексту с помощью буквенных клавиш, а также выполнять различные команды. Второй режим — редактирование, в котором программа превращается в обычный редактор.
4. Htop
Мониторинг нагрузки на операционную систему — это тоже очень важная задача, которая стоит довольно часто перед системными администраторами. Например, если нужно очень срочно выяснить какая программа перегружает процессор или занимает всю доступную оперативную память. Утилита htop показывает в реальном времени список всех запущенных процессов с возможностью сортировки по нужному параметру, использованию процессора, памяти.
Кроме того, с помощью утилиты можно посмотреть количество потоков ядра процессора, на котором запущенна программа и многое другое. Это одна из самых важных утилит в списке программ системного администратора. Программа работает только в Linux системах.
5. Git
Контроль версий имеет очень важное значение не только в программировании. Для различных скриптов, конфигурационных и обычных текстовых файлов тоже может быть очень полезным восстановить предыдущую версию.
Изначально система Git была разработана Линусом Торвальдстом для управления разработкой ядра Linux.
Но на сегодняшний день это полноценная платформа, которой пользуется очень большое количество проектов
с открытым исходным кодом. Но она также может быть полезной в сохранении старых версий ваших конфигурационных файлов.
Последняя на данный момент версия — это 2.10, в которой есть много полезных функций. Например, с помощью команды git diff вы можете узнать какие именно строки и в каких файлах были изменены, удаленные строки будут зачеркнуты. Программа может использоваться в Windows и в Linux.
6. GitLab
Git хорош сам по себе, но он будет намного лучше вместе с системой организации рабочего процесса. Платформа GitLab позволяет решить все эти проблемы. Она имеет как онлайн сервис, так и платформу, которую можно установить на свой сервер. Это отлично подходит для планирования развития инфраструктуры без необходимости полагаться на внешний сервис.
7. SystemRescueCD
Компьютеры не всегда работают как нужно и имеют обыкновение ломаться. Отличная практика для системных администраторов — это иметь компакт диск или USB диск с набором инструментов, которые помогут восстановить систему или хотя бы данные с проблемных компьютеров.
SystemRescueCD — это активно развивающийся набор утилит для системного администратора на все случаи жизни. Это загрузочный дистрибутив Linux, основанный на Gentoo, который содержит различные инструменты для проверки аппаратного обеспечения, разметки диска, восстановления данных, проверки компьютера на вирусы, настройки сети и многое другое.
В 2016 году были выпущены версии 2.8 и 2.9. В этих версиях образ получил обновления различных компонентов, включая добавление поддержки инструментов для работы с btrfs.
8. Clonezilla
Иногда лучше не восстанавливать систему с нуля, а иметь резервную копию всей машины, чтобы иметь возможность вернуть систему к жизни за несколько минут. Clonezilla — это де-факто стандарт для создания резервных копий и развертывания образов систем на диск. Вы можете создавать резервные копии, как для отдельных разделов, так и для всего диска целиком.
Программа может использоваться из текущей системы или в виде загрузочного образа с псевдографическим интерфейсом — Clonezilla Live. После того как у вас будет готовая копия, вы можете очень просто восстановиться после неудачной конфигурации или обновления.
В последней версии была добавлена поддержка обнаружения зашифрованных с помощью Windows BitLocker томов, улучшена поддержка EFI, а также обновлено все программное обеспечение до последних версий Debian.
9. Docker
Контейнеры — это изолированные окружения, которые позволяют запускать несколько систем на одном ядре Linux. Все системы изолированы одна от другой, а также от основной системы. Инструмент настройки контейнеров Docker очень сильно посодействовал развитию контейнеров в 2016 году.
Docker — это открытая платформа, которая позволяет буквально в несколько команд развернуть контейнеры с нужными дистрибутивами Linux и выполнять в них необходимое программное обеспечение. С помощью Docker вы можете упаковать отдельное приложение со всеми его зависимостями, а затем запускать в любом дистрибутиве, где поддерживается Docker.
Вы можете создавать свои программы и обмениваться ими с другими пользователями. Docker позволяет компаниям выбирать систему, в которой будет работать программное обеспечение, не ограничивая разработчиков в инструментах и языках программирования.
В последних версиях Docker была добавлена возможность проверки состояния контейнера и автоматического восстановления в случае проблем, а также теперь контейнеры Docker могут работать не только в Linux,
но и в Windows.
10. Wireshark
Wireshark — это инструмент для анализа, проходящего через компьютер трафика и сохранения сетевых пакетов. Такая задача может возникнуть при анализе работоспособности сети, сетевых сервисов или веб-приложений. Программа поддерживает огромное количество протоколов, может даже расшифровывать HTTPS трафик при наличии ключа.
Вы можете фильтровать весь трафик по нужным параметрам, сортировать пакеты, просматривать их содержимое и полную информацию, а также многое другое.
Новая версия программы Wireshark 2.0 была выпущена в 2015 году, с тех пор она активно развивается уже в этой ветке. Ее интерфейс был переписан на Qt5, а также сделан более интуитивно понятным.
11. TightVNC
TightVNC позволяет получить доступ к графическому интерфейсу на удаленном компьютере. С помощью этой программы вы можете управлять компьютером удаленно, фактически, не находясь перед ним. Обычно администраторы управляют серверами Linux через ssh, однако, некоторые пользователи предпочитают использовать графический интерфейс для решения таких задач.
У программы есть возможность шифровать трафик VNC, таким образом, делая его безопасным, точно так же, как и ssh. TightVNC может работать как в Linux, так и в Windows. Затем вы сможете получить доступ к вашему устройству
с любого места, где есть интернет.
12. Zenmap
Zenmap — это графический интерфейс для популярного сетевого сканера — nmap. С помощью этого инструмента вы можете очень быстро найти все подключенные к сети узлы, проверить топологию сети, а также посмотреть список запущенных служб на каждом из компьютеров.
Также с помощью программы вы можете найти потенциально опасные места в настройке серверов, многими администраторами она используется для проверки доступности узлов или даже измерения времени аптайма.
13. Filezilla
Наш список утилит для системного администратора подходит к завершению. Во время администрирования серверов достаточно часто приходится передавать файлы. Обычно эта задача выполняется по протоколу FTP. Filezilla — это один из лучших и самых популярных клиентов для передачи и загрузки файлов по FTP. Интерфейс программы разделен на две панели, в одной из них вы видите локальный компьютер, а в другой удаленную файловую систему FTP сервера.
Интерфейс программы интуитивно понятен, и ее можно использовать в Windows, Linux и MacOS.
14. Kubernetes
Для управления контейнерами лучше использовать специальный инструмент — Kubernetes. Платформа позволяет создавать кластеры контейнеров буквально в две команды. С помощью панели управления можно решить 90% возникающих задач. Установить Kubernetes можно с помощью пакетного менеджера вашего дистрибутива, например yum или apt-get.
Выводы
В этой статье мы рассмотрели программы для системного администратора 2016, которые могут вам очень сильно помочь в администрировании вашей экосистемы компьютеров. А какими инструментами вы пользуетесь? Напишите в комментариях!