DevOps Portal | Linux
13.4K subscribers
867 photos
112 videos
10 files
881 links
Присоединяйтесь к нашему каналу и погрузитесь в мир DevOps

Связь: @devmangx

РКН: https://clck.ru/3P8kFH
Download Telegram
📝 Пять веских поводов вести ежедневный список задач!

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

1. 🚀 Организованный режим: Список задач станет вашим надежным проводником в мире дел. Он поможет разложить все по полочкам, сделать приоритеты и уложиться в распорядок дня.

2. 💡 Фокус на цели: Без списка задач легко заблудиться в деталях. Он напомнит вам, что действительно важно, и поможет сфокусироваться на главных целях.

3. 🎯 Мотивация и успехи: Отметив каждую выполненную задачу, вы будете видеть, как ваша продуктивность растет. Маленькие победы создают великие успехи!

4. 🔄 Избегание забывчивости: Никакие идеи и задачи не уйдут в небытие. Ваш список будет верной ассистенткой в сохранении всего, от чего зависит ваш успех.

5. 🌱 Личный рост: Список задач стимулирует развитие. Ведь его создание требует анализа, планирования и оценки ресурсов — отличные навыки для развития в себе лидера!

В последующих постах поделюсь тем, как я планирую свои задачи на день. Вы же, господа подписчики, ведите свой список задач на день и несите свои цели вперед, шаг за шагом. Пусть каждый выполненный пункт будет шагом к большему достижению! 🌟🗒 #Планирование #РостИУспех
👍5
🐧 Доброго утра, линуксоиды! Пусть день будет стабильным, как Debian, ярким, как Tux, и интересным, как исходники ядра. Кодить счастье! 🌞🐎🖥
👍7
🐧 Лайфхак Linux: управление шириной строки 🖥

Сегодня мы поделимся с вами полезной командой для работы с текстом - fold.

Как разбить длинные текстовые строки на более удобочитаемые части? 🤔 Вот вам ответ:

🔍 Команда для разбиения строк:

fold -w n <файл>

Где n - это количество символов, на которое вы хотите разбить строки. Просто замените <файл> на путь к вашему файлу.

А теперь придаём структуру:

🔢 Пронумерованный вывод:

fold -w n <файл> | nl

Это особенно удобно, когда нужно найти определенный фрагмент в большом тексте.

И зачем это нужно? 📜
- Форматирование текстовых файлов, чтобы они выглядели аккуратно.
- Печать на бумаге с ограниченной длиной строки.
- Любое другое разделение текста на "порции".

Так что держите в курсе эту команду — она пригодится не раз. Удачного кодинга и продуктивного дня! 🚀🐧 #LinuxTips #КомандыLinux
👍4
Ну как-то так 🤷‍♂️
👍1🤔1
Правительство России обязало устанавливать RuStore на все смартфоны, даже если существует прямой запрет от правообладателей мобильной операционной системы.

Помогут ли эти меры распространению отечественных магазинов приложений?
Anonymous Poll
58%
Да
42%
Нет
🤔1
Утро! Пусть ваш код компилируется с первой попытки, а серверы отвечают мгновенно. Пусть этот день будет стабильным, как дистрибутив Linux, продуктивным, как команда терминала, и защищенным, как хорошо настроенный файрвол. И помните, в случае сомнений — RTFM! Удачного дня! 🌅🐧🚀
👍1
Уникальная возможность потыкать сайт проекта 🌐 😁

В рамках тестирования того, что наваял запустил вчера сайт уже на сервере. Пока еще сайт доступен и открывается по адресу https://linuxzone.ru/.

Так что можете, при желании, зайти и потыкать его. Сразу скажу, что с мобильных устройств это все дело выглядит не очень (пока что), потому лучше тыкать с десктопа. Ну и поскольку это тестирование, то не исключены ошибки, помните об этом. Можете дать обратную связь в комментариях, если кажется, что что-то можно улучшить или где-то что-то сломалось. Заметки там тестовые.

Еще раз оставляю адрес сайта, чтобы можно было перейти и попробовать его в действии: https://linuxzone.ru/

P. S. Сервер остановлю в обеденное время, во второй половине дня и может включу уже после того, как отработаю и приступлю к дальнейшей настройке.
👍5
🖥 Двойные тире в командах Linux 🐧

Порой опытные админы используют команды в консоли следующим образом:

ssh root@linuxzone.ru --

Что означает это двойное тире? Зачем оно? Давайте разбираться.

Двойное тире означает «флаги командной строки». Оно указывает ssh или другой команде не пытаться анализировать то, что следует после параметров. На словах выглядит не очень, давайте посмотрим на практике!

У меня есть такая команда:

ssh root@linuzone.ru -- command1 --arg1 --arg2

Приведенный выше синтаксис указывает ssh не пытаться анализировать параметры arg1 и arg2 после символа «--». Это гарантирует, что команда command1 примет arg1 и arg2 в качестве аргументов командной строки и выполнится на удаленном сервере.

Короче говоря мы сообщаем ssh - все то, что идет после двойного тире, это не твои параметры и аргументы, анализировать это НЕ НАДО! СТОП! Дальше дело за command1 и его параметрами и аргументами.

Двойное тире обрабатывается не обрабатывается оболочками bash/zsh/csh/sh/fish и т.п. Оно обрабатывается средствами самих программ, но НЕ всех. Например ssh это умеет делать, как и множество других команд и утилит. Рассмотрим другие примеры.

Например, вы не сможете просмотреть файл с именем --file или -f используя команду cat. Проверяем:

cat --file
cat -f

Опа. Ошибка! cat: unrecognized option --file/f. Давайте теперь передадим двойное тире:

cat -- --file
cat -- -f

Ошибка пропала и файл успешно вывелся на экран, ну либо выскочило сообщение cat: --file/f: No such file or directory. Это нормально.

Закрепим:

rm --file = получим ошибку
rm -- '--file' = а вот это сработает

Ну а что бы передать параметры в rm, делаем так:

rm -v -i -- '--file'
rm -f -v -i -- '-f'

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

/usr/bin/echo -- -n
echo -- --test

выведется это:

-- -n
-- --test

Если материал оказался полезным и интересным, то поставьте лайк. Если остались вопросы, то напиши их в комментариях 💬
👍7
🔥 Спешим поделиться свежими новостями: вчера свет увидело долгожданное ядро версии 6.5! 🎉 А у нас тут дополнительно запускается новый интерактив "Покажи своё ядро". 🚀

Не теряй времени! Бросай в комментариях свой выхлоп команды uname -a. Давай вместе выясним, кто уже на вершине обновлений, а кто еще верно идет по пути стабильности. 🌊🐧🔍
👍2
🌄 Доброго утра, уважаемые любители терминала и мастера командной строки! Пусть ваш день начнется с такой же легкости, как выполнение ls в вашей любимой директории. Пусть каждая задача решается так же эффективно, как оптимизация кода. И не забудьте зарядиться кофеином, чтобы ваш мозг работал на скорости 1000 МГц! ☕️🖥 #ДоброеУтроВМиреЛинукса
👍3
📋 Три команды для работы с логами в Linux, которые я использую чаще всего 🐧

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

🗂 Места хранения логов в Linux

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

/var/log/...

Внутри нее могут располагаться как отдельные файлы-логи (имеющие расширение log), так и директории с названиями сервисов внутри которых находятся логи. Есть, естественно, исключения. Например, Docker. У него логи запущенных контейнеров находятся в другом месте:

/var/lib/docker/containers/<id_контейнера>/<id_контейнера>-json.log

Опять-таки, повторюсь, что чаще всего местоположение логов, заданное разработчиками программы или сервиса указывается в конфигурационных файлах и может, при желании, меняться пользователем. Системные логи, чаще всего, хранятся в /var/log.

📊 Какие виды логов бывают?

Расскажу, опять-таки, про классическую схему того, какие логи бывают.

access.log - содержат данные о доступе к серверу/ресурсу/приложению (например, успешные авторизации)

error.log - содержат данные об ошибках, возникающих при работе с серверами/ресурсами/приложениями.

🔤 <имя_сервиса>.log - содержат данные обо всех взаимодействиях с сервисом (доступ, ошибки, информация и пр.)

Указанные имена логов являются стандартными, конкретный вариант уже зависит от того, как решили разработчики или пользователь. Используя конфигурационные файлы вы можете задать любое имя для файла с логами. Теперь уже перейдем к командам.

1️⃣ Команда cat для просмотра содержимого лога

При использовании этой команды в терминал будет выведено все содержимое лога:

cat /var/log/<имя_лога>.log

Удобно, когда лог небольшой, в обратном случае вывод может занять длительное время.

2️⃣ Команда tail -f для вывода содержимого лога в режиме реального времени

Напомню, что команда tail выводит по-умолчанию 10 последних строк содержимого файла. Но при использовании ключа -f в выхлоп будут попадать строки лога в режиме реального времени.

tail -f /var/log/<имя_лога>.log

Удобно запустить такую команду и начать тестирование сервиса или программы, чтобы сразу видеть влетающую информацию.

3️⃣ Команда echo -n > для зануления логов

Бывает так, что логи разрастаются до неимоверных размеров. Решается это настройкой так называемой ротации (про нее расскажу отдельно в следующий раз), но если лог разросся до размеров, которые нужно занулить здесь и сейчас, то указанная команда подойдет в самый раз:

echo -n > /var/log/<имя_лога>.log

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

🏁 Работа с логами не составляет каких-то сложностей. Помимо указанных выше команд можно использовать практически все другие инструменты, применяемые к работе с файлами в Linux. В логах можно искать информацию, сортировать ее вывод в терминал, применять редактор sed и так далее. Чтобы не утруждать пользователя или администратора просмотров логов вручную существуют автоматизированные системы сбора и обработки логов, которые позволяют собирать информацию сразу с нескольких серверов. Но это уже совсем другая тема, которая находится больше в сфере системного администрирования.

Поддержите пост лайком, если он оказался полезным. Если возникли вопросы, то задавайте их в комментариях 💬
👍6
🐧 Давайте окунемся в удивительный мир Linux и заглянем в зеркало командных строк! Встречайте пять пар команд, которые отображают друг друга:

1. cat 🐱 и tac 🐾

Перепутали кота с обратным котом? cat показывает содержимое файла слева направо, а tac делает это наоборот!

2. sort 🧮 и rev 🔄

Порядок имеет значение! sort сортирует строки в алфавитном порядке, а rev разворачивает строки задом наперёд.

3. head 🚀 и tail 🐾

Не уходите сразу! head выводит начало файла, а tail – его конец. Оба взгляда имеют право на жизнь!

4. cut ✂️ и paste 📎

Как в жизни, так и в Linux, можно что-то отрезать и вставить. cut вырезает поля из строк, а paste соединяет их обратно.

5. ls 📂 и echo 🗣

Список файлов или просто эхо ваших мыслей? ls выводит содержимое директории, а echo просто отдаёт то, что ему сказали.

Уверены, эти пары команд покажут вам, что в мире Linux всегда есть место для интересных и неожиданных взаимосвязей! 🚀🔍 #LinuxМагия
👍7
Пусть день будет таким же крутым, как самый мощный сервер. Пусть ошибки уходят в /dev/null, а идеи приходят как коммиты. Доброго утра и ковыряния в коде!" 🌄💾🚀
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Обратная связь от аудитории во время непродолжительной демонстрации дев-версии сайта позволила добавить новый и обновить старый функционал. Подписи к видео в телеграмме не могут быть длинными, поэтому подробности вы можете узнать на канале в Дзене, где я расписал что и как изменил. Здесь же прикрепляю небольшую демонстрацию.
👍2
Какой командой в Linux можно создать пустой файл?
Anonymous Quiz
72%
touch
5%
create
9%
newfile
14%
makefile
Поворачиваем календарь, включаем режим продуктивности и начинаем этот день с энтузиазма! Доброго утра, Линукс-сообщество! 🐧💻🌞 #Linux #3сентября
👍3
Микросервис или монолит: выбираем архитектуру при разработке приложения 💻

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

🧱 Монолитная архитектура 🧱

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

Примерами таких сервисов/приложений являются, например, StackOverflow, Slack, Booking, GitHub.

⚙️ Микросервисная (распределенная) архитектура ⚙️

Приложение представляет собой независимые друг от друга, небольшие, слабо связанные и легко изменяемые модули. Каждый такой модуль (микросервис) выполняет одну функцию или один элемент бизнес-логики. Микросервисы взаимодействуют друг с другом через API, а не через встроенные механизмы языка программирования.

Например, у вас есть интернет-магазин, реализованный как набор микросервисов. В таком случае будет сервис, отвечающий за предоставление информации о клиентах, сервис дающий доступ к информации о наличии запасов на складе, отдельный сервис, отвечающий за работу корзины на сайте, также отдельный сервис, который помогает клиентам оплачивать покупки.

Может ли быть что-то посередине?

Многие разработчики начинают с монолитной архитектуры, но со временем решают перейти к микросервисам. Например, разработчики национальной платежной системы "МИР" начинали с монолита, но сейчас, из-за активного роста спроса на услуги и числа клиентов, часть функционала переводят в микросервисы. Поэтому, большие и сложные сервисы/приложения используют оба подхода, тщательно балансируя между ними не в ущерб стабильности работы.

🏁 Последний и очень близкий пример 🏁

Завершить этот небольшой рассказ про монолитную и микросервисную архитектуры хотелось бы простым примером, связанным с сайтом проекта. Сейчас он представляет собой монолит - имеется одно приложение, один пользовательский интерфейс, одна база данных. В этом приложений обрабатываются такие операции, как добавление постов, комментариев, лайков, регистрация и авторизация пользователей. Если я захочу перейти на микросервисную архитектуру, то нужно будет сделать приложение на Django для работы с постами, для управления пользовательскими аккаунтами, для сбора различного рода аналитики и пр. Управлять и разворачивать эти все сервисы проще будет с помощью того же Docker, которые позиционируется, как один из важных инструментов для создания и управления микросервисами.

Естественно, у каждой архитектуры есть свои преимущества и недостатки, но описывать их в рамках этой ознакомительной заметки, думаю, не стоит. Главная ее цель - объяснить ключевую разницу между этими подходами к разработке.
👍2
🇷🇺 Перекличка регионов нашей необъятной Родины 🇷🇺

Напишите в комментариях из какого вы региона, посмотрим каково распределение на более чем сотню подписчиков 💬
👍1
Доброе утро, любители Linux и ценители IT! 🌄💻

Сегодня - день для того, чтобы взглянуть на мир IT с новой стороны. 🌐🔍

Предлагаю задуматься: что бы вы изменили в мире Linux, если бы у вас была магическая клавиатура? 🪄🔑

Давайте делиться своими идеями и фантазиями в комментариях! Возможно, кто-то из нас сможет сделать это реальностью. 😉💡 #Linux #IT #МагияКода
👍1
🚀 Статусы выхода в BASH: понимание и практическое применение 🧐

Сегодня мы поговорим о статусах выхода в BASH - мощном инструменте для обработки ошибок и контроля выполнения команд и скриптов.

Что такое статус выхода?

Каждая программа в мире Linux возвращает целое число от 0 до 255 как результат своей работы. Это число называется статусом выхода, и оно говорит о том, завершилась ли программа успешно (когда статус 0) или произошла ошибка (все остальные значения).

Примеры статусов выхода:

- 0: Успешное завершение команды/программы.
- 126: Команда/программа найдена, но не является исполняемой (например, "Permission denied").
- 127: Программа не найдена ни в одном из путей $PATH или отсутствует в системе.

Как отследить статус выхода?

В bash есть специальная переменная "$?", которая хранит статус выхода последней выполненной команды. Например:

# date
# echo $?
0

Здесь статус выхода 0, что означает успешное завершение команды "date". Теперь давайте попробуем что-то несуществующее:

# non_existent_command
# echo $?
127

Как видите, код выхода 127 говорит о том, что команда не была найдена.

Применение статусов выхода:

Статусы выхода позволяют нам строить гибкую логику в скриптах и обрабатывать ошибки. Вот пример:

#!/bin/bash

date
code=$?

if test $code -eq 0
then
echo "Успешно"
else
echo "Ошибка"
fi

Этот скрипт выводит "Успешно", если команда "date" завершилась успешно, и "Ошибка" в противном случае.

Пользовательские статусы выхода:

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

#!/bin/bash

date
exit 1
echo "Этот текст не будет выведен"

Здесь "exit 1" прерывает выполнение скрипта с кодом выхода 1.

Статусы выхода - мощный инструмент для управления логикой скриптов и обработки ошибок. Зная их, вы сможете увереннее работать с bash и создавать более надежные скрипты.

Надеюсь, этот пост поможет вам лучше понять статусы выхода в bash и использовать их в своей работе! 🔍💡 #Linux #Bash #СтатусыВыхода
👍3