В сети можно встретить много советов по эффективной работе в консоли. В большинстве таких статей авторы рассказывают про банальности типа "выучите горячие клавиши" или "sudo !!
запустит последнюю команду под sudo". Я же расскажу о том, что делать, когда вы уже выучили горячие клавиши и знаете про sudo !!
.
Рубрика «bash» - 9
Работаем в консоли быстро и эффективно
2018-10-02 в 15:06, admin, рубрики: bash, linux, shell, terminal, zsh, ОболочкиSDKMAN — мёртв, да здравствует SDKMAN
2018-09-23 в 15:42, admin, рубрики: bash, Go, golang, Groovy & Grails, java, sdkman
TL;DR: SDKMAN CLI будет переписан на Golang
Шесть лет прошло с тех пор как мы выпустили первую версию SDKMAN. В более ранних версиях он был известен как GVM и использовался для управления Groovy и связанным с ним инструментарием. Вскоре стало очевидно, что он не должен ограничиваться экосистемой Groovy, и может также применяться к другим SDK на JVM. В этот момент GVM был переименован в SDKMAN. Хотя название и изменилось, основная технология осталась прежней.
Подобно тому, как GVM однажды перерос своё имя, SDKMAN перерос технологию, на которой он был построен. Несмотря на то, что сервисы бэкенда были заменены лучшими альтернативами, CLI клиент остался прежним и стал нашим самым большим источником разочарования.
Читать полностью »
ToFoIn v 1. Резервирование шлюзов и переключение между внешними каналами во FreeBSD
2018-08-31 в 3:30, admin, рубрики: bash, CARP, freebsd, networking, VLAN, Сетевые технологииАннотация
В прошлой публикации рассматривался вопрос организации резервирования для шлюзов локальной сети. Как вариант решения был предложен скрипт, который на тот момент решал задачу, однако имел ряд недостатков. Спустя некоторое время получилось эти недостатки устранить, частично переписать код и на выходе получить уже что-то приемлемое. Сейчас можно говорить, что скрипты достаточно протестированы, чтобы называться стабильными. Для упрощения понимания всей системы основные моменты по настройке второстепенных сервисов (с точки зрения темы статьи) будут частично продублированы ниже. Причина проста — за это время были переработаны также правила ipfw, dns отправился жить в AD на Samba4 с bind-frontend и безопасным обновлением записей из isc-dhcpd с использованием kerberos, а также вторичными dns-серверами в виде bind-а на шлюзах, был настроен CARP… В общем, стало сильно интереснее, но подробнее о том, что и как работает — ниже. Всё, что можно будет давать ссылками на первоисточник, будет оформлено именно таким образом, дабы не плодить сущности. То, что бралось из каких либо других мест, но что более недоступно, будет приводиться здесь с соответствующими комментариями.
Читать полностью »
Аппарат для выдачи печенья «Кукинатор 3000»
2018-08-23 в 7:22, admin, рубрики: bash, diy или сделай сам, IoT, javascript, wiren board, автоматизация, Блог компании Wiren Board, Интернет вещей, Компьютерное железо, удаленное управление, умный домВсем привет! Я работаю в компании, которая разрабатывает оборудование для мониторинга нефтяных вышек, майнинговых ферм, ДГУ и прочих скучных вещей. Но в этот раз мы автоматизировали кое-что иное. Итак, встречайте: «Кукинатор 3000» — аппарат по выдаче печенья лучшим сотрудникам.
Аппарат представляет из себя конструкцию из ПВХ и некоторых деталей:
Спираль c приводом (служит для подачи товара), экран, монетоприемник, и мозг всей конструкции — контроллер Wiren Board 6.
Читать полностью »
Подготовка SSL-сертификатов к установке
2018-07-31 в 22:28, admin, рубрики: bash, ssl сертификаты, информационная безопасность, Серверное администрированиеПро установку SSL-сертификатов на веб-сервер написано достаточно много, и обычно этот вопрос не вызывает сложности у системных администраторов. Однако непосредственно перед установкой неплохо сделать несколько проверок, чтоб не созерцать в браузере досадное «The site's security certificate is not trusted!» (Сертификат безопасности сайта не является доверенным!). Особенно это актуально, когда сертификаты вы получаете не от регистратора, а от заказчика, который может, к примеру, перепутать приватные ключи или выслать сертификат в формате своего текстового редактора с добавлением мусора форматирования.
Таким образом, чтоб всё и сразу заработало, перед установкой SSL-сертификата желательно сделать несколько проверок.
Читать полностью »
Как сделать простым и понятным запуск Java-процессов в Linux – Docker
2018-07-02 в 7:19, admin, рубрики: bash, devops, docker, java, jvm, linux, script, systemd, Программирование, Серверное администрирование, системное администрированиеПо профилю работы DevOps-инженером я часто занимаюсь автоматизацией установки и настройки разнообразных IT-систем в различных средах: от контейнеров до облака. Приходилось работать со многими системами, основанными на Java-стеке: от небольших (вроде Tomcat), до масштабных (Hadoop, Cassandra и др.).
При этом почти каждая такая система, даже самая простая, почему-то имела сложную неповторимую систему запуска. Как минимум, это были многострочные shell-скрипты, как в Tomcat, а то и целые фреймворки, как в Hadoop. Мой нынешний "пациент" из этой серии, вдохновивший меня на написание этой статьи — хранилище артефактов Nexus OSS 3, скрипт запуска которого занимает ~400 строк кода.
Непрозрачность, избыточность, запутанность startup-скриптов создает проблемы даже при ручной установке одного компонента на локальной системе. А теперь представьте, что набор таких компонентов и сервисов нужно запаковать в Docker-контейнер, попутно написав еще один слой абстракции для мало-мальски адекватного оркестрирования, развернуть в Kubernetes-кластере и реализовать этот процесс в виде CI/CD-пайплайна...
Короче говоря, давайте на примере упомянутого Nexus 3 разберемся, как вернуться из лабиринта shell-скриптов к чему-то более похожему на java -jar <program.jar>
, учитывая наличие удобных современных DevOps-инструментов.
Благословите Nouveau, или про мои мучения с Nvidia Optimus. Часть 1. Прелесть документации Arch
2018-06-14 в 8:08, admin, рубрики: archlinux, bash, linux, Nvidia, Optimus, Видеокарты, Компьютерное железо, Настройка Linux, НоутбукиПрежде чем я начну
Перед тем, как начать основное повествование, я бы хотел уточнить несколько моментов. Статья направлена в первую очередь на обладателей ноутбуков с технологией Nvidia Optimus, желающих установить себе GNU/Linux(далее Linux). Материал направлен на то, чтобы вышеуказанная ЦА ознакомилась с возможными решениями вопроса и на то, чтобы облегчить и ускорить ею его решение. Кроме того, статья не в последнюю очередь является мотивирующей, и направлена на понимание людьми одной простой истины: в Linux, как и в жизни, всегда найдётся обходной путь, и если Вы сдадитесь, лучше(в большинстве случаев) не станет.
Qui quaerit, reperit
— Латинская поговорка
Предисловие
До поры до времени я был обычным линуксоидом. Тестил разные дистрибутивы, потихоньку узнавал новое. Просто потому, что мне было интересно. Как правило, «знания» ограничивались Ubuntu и её форками, а также Fedora и ещё парой «user-friendly» дистрибутивов. Но, как гласит ещё одна латинская поговорка, omnia fluunt, omnia mutantur, то есть все течёт, всё меняется, и понятно, что так не могло продолжаться вечно.
Всё хорошо начиналось
Следует отметить, что у меня было не очень большое раздолье для экспериментов: относительно слабый ПК, который еле-еле тянул GNOME 3, и медленный интернет, который сильно усложнял общую ситуацию. Но тогда большего для мальчика 12 лет и не нужно было. В конце концов мне надоело экспериментировать, я установил Windows 10 и на несколько лет забыл о Linux.
Время шло, и где-то через 2 года я понял, что пришло время обновить мой замшелый кусок железа ПК, и начал копить деньги. Что-то выручил с продаж своих вещей, что-то дарили, более половины суммы накинули родители, пришлось даже принести в жертву продать свой Xbox(!)Читать полностью »
Насколько хорошо ты знаешь bash?
2018-06-13 в 8:07, admin, рубрики: bash, задачи, Занимательные задачки, Оболочки, системное администрирование
Пользуешься командным интерпретатором каждый день? Готов решить несколько логических задачек и узнать что-то новое? Добро пожаловать под кат.
Читать полностью »
Работа с массивами в bash
2018-06-13 в 8:00, admin, рубрики: bash, Блог компании RUVDS.com, разработка, Разработка веб-сайтов, Разработка под LinuxПрограммисты регулярно пользуются bash для решения множества задач, сопутствующих разработке ПО. При этом bash-массивы нередко считаются одной из самых непонятных возможностей этой командной оболочки (вероятно, массивы уступают в этом плане лишь регулярным выражениям). Автор материала, перевод которого мы сегодня публикуем, приглашает всех желающих в удивительный мир bash-массивов, которые, если привыкнуть к их необычному синтаксису, могут принести немало пользы.

Google’s Shell Style Guide (на русском)
2018-06-04 в 16:43, admin, рубрики: bash, Google, linux, shell, style guide, Оболочки, Программирование, Разработка под Linux, скриптыПредисловие
Какой Shell использовать
Bash
единственный язык shell скриптов, который разрешается использовать для исполняемых файлов.
Скрипты должны начинаться с с минимальным набором флагов. Используйте
set
для установки опций shell, что бы вызов вашего скрипта как bash <script_name>
не нарушило его функциональности.
Ограничение всех shell скриптов до bash, дает нам согласованный shell язык, который установлен на всех наших машинах.
Единственное исключение составляет если вы ограничены условиями того под что вы программируете. Одним из примеров могут стать пакеты Solaris SVR4, для которых требуется использование обычного Bourne shell для любых скриптов.
Когда использовать Shell
Shell следует использовать только для небольших утилит или простых скрптов-оберток.
Хотя shell-скриптинг не является языком разработки, он используется для написания различных утилит во всем Google. Это руководство по стилю является скорее признанием его использования, а не предложением использовать его в широком применении.