Рубрика «bash»

Привет!

У нас давно не выходило новых книг по Linux для начинающих — и вот мы беремся за перевод новинки именно такого плана. Книга "Linux in Action" Дэвида Клинтона вышла в издательстве Manning и рассказывает не только о внутреннем устройстве Linux, но и о наиболее распространенных проблемах, и о способах их устранения.

Защищаем веб-сервер на Linux - 1

Автор опубликовал на сайте Hackernoon отрывок из 9-й главы, который мы и предлагаем вам оценить.
Читать полностью »

В сети можно встретить много советов по эффективной работе в консоли. В большинстве таких статей авторы рассказывают про банальности типа "выучите горячие клавиши" или "sudo !! запустит последнюю команду под sudo". Я же расскажу о том, что делать, когда вы уже выучили горячие клавиши и знаете про sudo !!.

Читать полностью »

SDKMAN — мёртв, да здравствует SDKMAN - 1

TL;DR: SDKMAN CLI будет переписан на Golang

Шесть лет прошло с тех пор как мы выпустили первую версию SDKMAN. В более ранних версиях он был известен как GVM и использовался для управления Groovy и связанным с ним инструментарием. Вскоре стало очевидно, что он не должен ограничиваться экосистемой Groovy, и может также применяться к другим SDK на JVM. В этот момент GVM был переименован в SDKMAN. Хотя название и изменилось, основная технология осталась прежней.

Подобно тому, как GVM однажды перерос своё имя, SDKMAN перерос технологию, на которой он был построен. Несмотря на то, что сервисы бэкенда были заменены лучшими альтернативами, CLI клиент остался прежним и стал нашим самым большим источником разочарования.
Читать полностью »

Аннотация

В прошлой публикации рассматривался вопрос организации резервирования для шлюзов локальной сети. Как вариант решения был предложен скрипт, который на тот момент решал задачу, однако имел ряд недостатков. Спустя некоторое время получилось эти недостатки устранить, частично переписать код и на выходе получить уже что-то приемлемое. Сейчас можно говорить, что скрипты достаточно протестированы, чтобы называться стабильными. Для упрощения понимания всей системы основные моменты по настройке второстепенных сервисов (с точки зрения темы статьи) будут частично продублированы ниже. Причина проста — за это время были переработаны также правила ipfw, dns отправился жить в AD на Samba4 с bind-frontend и безопасным обновлением записей из isc-dhcpd с использованием kerberos, а также вторичными dns-серверами в виде bind-а на шлюзах, был настроен CARP… В общем, стало сильно интереснее, но подробнее о том, что и как работает — ниже. Всё, что можно будет давать ссылками на первоисточник, будет оформлено именно таким образом, дабы не плодить сущности. То, что бралось из каких либо других мест, но что более недоступно, будет приводиться здесь с соответствующими комментариями.
Читать полностью »

Аппарат для выдачи печенья «Кукинатор 3000» - 1

Всем привет! Я работаю в компании, которая разрабатывает оборудование для мониторинга нефтяных вышек, майнинговых ферм, ДГУ и прочих скучных вещей. Но в этот раз мы автоматизировали кое-что иное. Итак, встречайте: «Кукинатор 3000» — аппарат по выдаче печенья лучшим сотрудникам.

Аппарат представляет из себя конструкцию из ПВХ и некоторых деталей:
Спираль c приводом (служит для подачи товара), экран, монетоприемник, и мозг всей конструкции — контроллер Wiren Board 6.
Читать полностью »

Про установку SSL-сертификатов на веб-сервер написано достаточно много, и обычно этот вопрос не вызывает сложности у системных администраторов. Однако непосредственно перед установкой неплохо сделать несколько проверок, чтоб не созерцать в браузере досадное «The site's security certificate is not trusted!» (Сертификат безопасности сайта не является доверенным!). Особенно это актуально, когда сертификаты вы получаете не от регистратора, а от заказчика, который может, к примеру, перепутать приватные ключи или выслать сертификат в формате своего текстового редактора с добавлением мусора форматирования.

Таким образом, чтоб всё и сразу заработало, перед установкой SSL-сертификата желательно сделать несколько проверок.
Читать полностью »

По профилю работы 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-инструментов.

Читать полностью »

Прежде чем я начну

Перед тем, как начать основное повествование, я бы хотел уточнить несколько моментов. Статья направлена в первую очередь на обладателей ноутбуков с технологией 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? - 1
Пользуешься командным интерпретатором каждый день? Готов решить несколько логических задачек и узнать что-то новое? Добро пожаловать под кат.
Читать полностью »

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

image

Читать полностью »