В этой статье я познакомлю вас с полезными утилитами консоли Linux. Нас ждут: клиент SSH с устойчивым коннектом, красивый дашборд и много других полезных инструментов для работы в консоли Linux.
РЕКОМЕНДУЕМ:
Полезные инструменты для работы с сетью в консоли Linux
Дашборды
Cockpit
Cockpit — это не совсем дашборд. Это большая веб‑консоль для управления сервером.
Установка максимально проста:
1 2 3 4 |
sudo apt update sudo apt install cockpit sudo systemctl enable cockpit sudo systemctl start cockpit |
Затем нужно открыть порт 9090 на файрволе:
1 |
sudo ufw allow 9090/tcp |
Дальше можно настроить доступ через реверс‑прокси nginx по имени хоста с нормальными SSL-сертификатами и на привычных портах.
После всех манипуляций заходим на <твой-хост>:9090 и видим окно логина. В него вбиваем имя пользователя и пароль действительной учетной записи на сервере и видим дашборд.
Cockpit умеет рисовать графики большинства интересных метрик — в частности, загрузки диска.
На вкладке Host доступны действия с сервером: установка обновлений, рулежка сервисами, управление питанием и так далее.
Начинающему админу это может здорово облегчить жизнь.
btop++
Помнишь bashtop из прошлой серии? Btop++ — это его реализация на C++ с повышенной производительностью. Уменьшенный интервал обновления графиков не приводит к значительному повышению нагрузки на процессор. При этом дашборд выглядит столь же красочно и эффектно для неискушенного посетителя твоей серверной!
Bottom
Bottom внешне похож на bashtop, но написан на Rust, что тоже означает высокую производительность и низкую нагрузку на процессор.
Bottom поддерживает Linux (на архитектурах x86, x64 и aarch64), Windows (x86 и x64) и даже macOS!
Устанавливается на Debian-based-дистрибутивы всего в две команды:
1 2 |
curl -LO https://github.com/ClementTsang/bottom/releases/download/0.6.4/bottom_0.6.4_amd64.deb sudo dpkg -i bottom_0.6.4_amd64.deb |
На Arch все еще проще:
1 |
sudo pacman -Syu bottom |
Для Windows есть установщик MSI, который можно просто скачать и запустить.
Для запуска утилиты нужно писать не bottom, как ты мог подумать, а btm. После старта увидишь что‑то похожее на скриншот.
Viddy
Viddy — это современный watch на Go с блек‑джеком и машиной времени в комплекте.
Интересно, что он позволяет не просто наблюдать за происходящим, но и перематывать действия во времени.
Установка в Linux-системах сводится к одной команде:
1 |
wget -O viddy.tar.gz https://github.com/sachaos/viddy/releases/download/v0.3.1/viddy_0.3.1_Linux_x86_64.tar.gz && tar xvf viddy.tar.gz && mv viddy /usr/local/bin |
Из команд для управления Viddy во время работы достаточно знать две: пробел включает машину времени, а s приостанавливает выполнение вызываемой команды.
Автоматизация и скриптинг
htmlq
Конечно, ты знаешь про jq — утилиту для работы с JSON из терминала. А как насчет HTML? Когда пишешь скрипты для парсинга всяких сайтов, очень полезно иметь возможность взаимодействовать с HTML нормальным способом, а не регулярками. htmlq — это как раз такой инструмент.
Написан htmlq на Rust и ставится через Cargo:
cargo install htmlq
sysz
Sysz — это псевдографический интерфейс для работы с юнитами systemd. Он позволяет удобно просматривать и управлять сервисами. Вот, например, как посмотреть состояние демона Cockpit, который мы рассмотрели выше.
xargs
Если ты вдруг не слышал о xargs, то ты многое пропустил. Это утилита, которая вызывает заданную команду с аргументами, переданными в потоке стандартного ввода.
Вот простой пример: удалим все файлы лицензии всех программ, установленных в домашнюю папку. Зачем? Не знаю, но с xargs это делается вот таким интуитивным конвейером:
1 |
find ~/ -name LICENSE | xargs -d $'\n' -- rm |
Приятная и малоизвестная фишка: xargs умеет сам распараллеливать задачи. Хочешь запустить кучу задач параллельно? xargs -P 16 сделает это в 16 потоков. Надо больше? Просто увеличь число. Никаким for такого результата не получишь.
Конечно, можно использовать $(…), но это не так удобно, как запуск всего одной команды. Скажем, в примере выше можно использовать параметр -exec у find, но это могло бы запустить сотни процессов удаления вместо всего одного. Оптимизация налицо!
miller
Miller — это утилита, которая умеет обрабатывать структурированные данные в форматах CSV, TSV и JSON. Указываем исходный формат, указываем нужный нам формат — и получаем результат в желаемом виде.
Если у тебя Ubuntu, miller устанавливается одной командой.
1 |
sudo apt install miller |
Инструкции по установке для других ОС и дистрибутивов ты найдешь в репозитории проекта.
Для примера я взял файл CSV с какими‑то случайными данными и попросил miller вывести его красиво с сортировкой по полю Location.
Если ты работаешь с таблицами из терминала, то это полезнейшая штука!
Всякое
Eternal Terminal
Задача Eternal Terminal — сделать так, чтобы соединение с удаленным сервером по SSH не причиняло боль при нестабильном коннекте или смене IP-адресов клиента (например, в дороге). Возможно, ты скажешь, что это похоже на Mosh. Автор этого и не скрывает, просто его утилита работает гораздо лучше.
Eternal Terminal не перезапускает сессию при падении (для этого есть autossh), а обеспечивает бесшовное переключение между аплинками без прерываний сессии. Поскольку я часто работаю не из дома, держать все SSH-коннекты живыми без повреждений становится непросто, и Eternal Terminal сослужил мне отличную службу.
Установка ET в Ubuntu проста:
1 2 3 4 |
sudo apt-get install -y software-properties-common sudo add-apt-repository ppa:jgmath2000/et sudo apt-get update sudo apt-get install et |
Теперь проверь, жив ли демон на сервере:
1 |
systemctl status et |
Если написано running, значит все сделано правильно. Остается только открыть порт 2022 и убедиться, что ты можешь подключится без пароля. Все настройки будут автоматически подтянуты из файла ssh_config, если он есть, так что ты даже не потеряешь фишки, специфичные для SSH. А дальше с клиентской машины просто вбей et user@hostname[:port] и забудь про обрывы соединения!
screen
Мы уже упоминали screen в статье про инструментарий девопса, но я хотел бы снова напомнить об этом чудо‑инструменте, который выручал меня до того, как я нашел Eternal Terminal. Если кратко, screen создает виртуальную консоль, которая не умирает вместе с SSH-соединением и позволяет переподключиться ( screen -r) к ней после реконнекта.
Ventoy
Один из инструментов, который сэкономил мне огромное количество времени, — это Ventoy. Он призван обеспечить удобное создание мультизагрузочных носителей без садомазохизма и нетрадиционных отношений с доисторическими загрузчиками. Все, что нужно — это установить Ventoy с помощью удобного инсталлятора из любой ОС и закинуть ISO-файлы требуемых операционок на созданный раздел.
Инсталлятор ты найдешь на странице загрузки на сайте программы. В Windows (откуда я и создавал свой прокачанный диск) нужно распаковать архив и запустить Ventoy2Disk.exe, а там выбрать нужный носитель из списка и нажать Install.
Дополнительные настройки вроде стиля разделов и поддержки Secure Boot находятся в меню Option.
Когда с установкой и копированием ISO будет покончено, можно перезагружаться. Если все заработало, то ты увидишь меню как на скрине ниже.
Скриншот взят с сайтаСкриншот взят с сайта
Для загрузки просто выбери ISO из списка и нажми Enter. Всё! И Windows, и популярные дистрибутивы Linux без проблем загружаются через Ventoy. Никакой возни с перепаковкой образов и настройкой grub4dos.
При изменении списка образов на носителе никаких дополнительных действий не нужно — ни замены конфигов, ни переустановки. Все подтянется само и будет работать.
Программа имеет открытый исходный код — он доступен на GitHub.
Выводы
Не исключаю, что о многих инструментах ты уже знаешь, а еще наверняка тебе известны и другие полезные утилиты, о которых мы не писали. В таком случае дай знать в комментариях или пиши в редакцию, и мы постараемся исправить это упущение!
Cockpit сила!
Open source Hosting control panel — Aapanel. Почему-то ее нет в обзоре. Вещь невероятная.