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

Связь: @devmangx

РКН: https://clck.ru/3P8kFH
Download Telegram
🖥 Хочу поделиться с вами интересной информацией о полезной утилите в Linux — sar (System Activity Reporter). Этот инструмент неоценим для системного администрирования и мониторинга производительности. 📊

Sar — часть пакета sysstat и предоставляет массу статистических данных о системе: загрузку CPU, память, дисковую активность и даже сетевые операции. Она может работать в режиме реального времени или собирать данные для анализа позже.

🛠 Установить sar в Ubuntu можно так:

sudo apt-get install sysstat

Основные параметры sar:
- -u: использование CPU
- -r: использование памяти
- -d: активность дисков
- -n: сетевая активность
- -s YYYYMMDD: начальная дата
- -e HH:MM:SS: конечное время
- -o filename: сохранение данных в файл
- -f filename: файл для анализа

Примеры:
1. Посмотреть статистику CPU каждые 5 секунд: sar -u 5
2. Мониторинг памяти каждые 3 секунды: sar -r 3
3. Запись сетевой активности в файл каждые 2 секунды, 30 секунд: sar -n DEV -o datafile 2 15

Это лишь малая часть возможностей sar. Этот мощный инструмент поможет вам анализировать и оптимизировать производительность системы. 🚀

#Linux #Мониторинг #SysAdmin
👍2
Debian исполнилось 30 лет 🎂

Дистрибутив Debian был впервые анонсирован Яном Мёрдоком (Ian Murdock) 16 августа 1993 года в списке рассылки comp.os.linux.development.

Мёрдок в то время был студентом Университета Пердью, США. Выпуски Debian с 0.01 по 0.90 вышли в течение короткого периода с августа по декабрь 1993 года. В то время в проекте Debian было задействовано несколько десятков разработчиков.

По данным OpenNET, главной целью проекта Debian была разработка дистрибутива, развиваемого в соответствии с духом полной открытости, свойственной Linux и GNU, а также стремление к техническому совершенству и надёжности.

Debian стал первым дистрибутивом Linux, который имел систему управления пакетами для более лёгкой установки и удаления программ. Также он является первым дистрибутивом Linux, который можно обновить до последней версии без переустановки.

За время существования Debian было выпущено 18 релизов, обеспечена поддержка 26 аппаратных архитектур, а также сформирован репозиторий из более чем 60 тыс. пакетов.

Общий суммарный размер всех предложенных в дистрибутиве Debian исходных текстов составляет 1,3 млрд строк кода. Суммарный размер всех пакетов достигает 365 ГБ. В проект Debian за всю историю было вовлечено несколько тысяч разработчиков и мейнтейнеров Linux. На базе технологий проекта Debian выпущено около 400 производных дистрибутивов, причём более 120 из них продолжают развиваться. У этого проекта есть многочисленные ответвления от основанных на Debian дистрибутивах, включая Ubuntu, Kali Linux и Neptune.

Давайте поздравим дедушку с юбилеем!!
👍8
🖥 Три метода передачи файлов через терминал Linux 🚀

Расскажу о трех эффективных способах передачи файлов между компьютерами с помощью терминала Linux. Если вы хотите научиться обмениваться файлами быстро и удобно, то это для вас! 💻📂📤📥

1. SCP (Secure Copy Protocol):
SCP позволяет передавать файлы через SSH-подключение. Пример команды:

scp /путь/к/файлу username@удаленный_хост:/путь/назначения/

2. Rsync:
Rsync помимо передачи файлов может синхронизировать директории между компьютерами. Пример команды:

rsync -avz /путь/к/файлу username@удаленный_хост:/путь/назначения/

3. Netcat (nc):

Netcat — это утилита для работы с сетью, которая передает файлы через команду "pipe". Примеры команд:

Отправка:

cat /путь/к/файлу | nc -l -p порт

Получение:

nc IP_отправителя порт > файл

Эти методы — настоящий подарок для тех, кто хочет мастерски владеть терминалом Linux. Попробуйте и узнайте, как легко передавать файлы, не выходя из командной строки. Успешных экспериментов! 🚀📦

#Linux #Терминал #Файлы #Утилиты
👍7
🌅 Утречка, друзья! Время начать день с улыбки и чашечки позитива! ☕️💪 #ДоброеУтро
👍61
🐚 Если вам приходится ковырять и писать скрипты на bash, порой хочется иметь под рукой какой-нибудь линтер. Чтобы уж слишком в говнокод не скатываться.

И такой линтер есть, называется shellcheck. С помощью него можно производить статический анализ кода и повышать качество ваших замечательных скриптов. Написан этот линтер на Haskell.

Haskell — стандартизированный чистый функциональный язык программирования общего назначения. Является одним из самых распространённых языков программирования с поддержкой отложенных вычислений.

С помощью этого линтера вы сможете искать ошибки в текстах скриптов и получать отчеты о проведенных проверках. Это позволяет повысить производительность работы и качество кода.

Установка элементарная:

apt/yum/brew install shellcheck

А использование этого линтера, вообще максимально простое:

shellcheck script.sh

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

Что еще сказать, этот линтер можно прикрутить в vim. Достаточно установить из репозитория плагин Plug 'neomake/neomake’. А в VSCode так и называется shellcheck.

Если лень ставить и тыкать, можете воспользоваться онлайн версией. Я пользуюсь консольной версией, из коробки, без всяких дополнительных ключей. Но ключи все же имеются, можете запустить --help и поглядеть сами, но там особо ничего такого нет.
👍1
Какая команда позволит вывести в терминале 10 первых строк файла?
Anonymous Quiz
14%
tail -f 10
14%
cat -l 10
57%
head -n 10
14%
less -s 10
🐧 Доброе утро, любители свободного ветра! Поднимайтесь с бодростью, словно терминал на утреннем апдейте. День будет как команда: полон возможностей и безграничных горизонтов! 🖥🌄 #LinuxLife #ДоброеУтро
👍51
🔍 Поиск слова в текстовом файле

Для поиска можно использовать команду grep. На самом деле этот инструмент намного мощнее, но сейчас мы рассмотрим его базовые возможности.

Итак, чтобы найти слово в текстовом файле:

grep <слово> <файл>

Команда grep чувствительна к регистру, но, добавив флаг -i, она проигнорирует его:

grep -i <слово> <файл>

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

grep -c <слово> <файл>

На канале в Дзен выходила большая статья про использование grep, прочитать которую вы можете по ссылке: https://dzen.ru/media/id/63667a0d8c39ee4167280da4/komanda-grep-shveicarskii-noj-v-arsenale-administratora-linuxservera-63a44035da1c4f18e15d260c
👍5
Немного информации по разработке блога проекта 📝

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

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

Напомню, что разрабатываю блог проекта на фреймворке Django, который будет находиться по адресу https://linuxzone.ru, где пока весит заглушка.
👍1
💻 Покажи свой #fetch 💻

В комментариях под этим постом выкладывайте скриншоты своих fetch - выхлопов из терминала. Посмотрим, у кого консоль лучше всего выглядит!
👍1
🌄 Доброе утро, Linux-герои! 🐧☀️ Пусть день будет продуктивным как командная строка! 💻🚀 #LinuxPower
👍6
🐧 В мире Linux драйверы ядра – это программное обеспечение, позволяющее ОС работать с аппаратной частью компьютера и устройствами. Они обеспечивают взаимодействие между ОС и устройствами, обеспечивая их эффективную работу.

Процесс работы драйвера в Linux выглядит так:

1. Инициализация: Ядро ОС загружает и инициализирует драйвер при старте системы или подключении устройства.

2. Регистрация: Драйвер регистрируется в ядре через определенные структуры, описывающие его функциональность.

3. Управление памятью: Драйвер выделяет и управляет оперативной памятью, необходимой для работы устройства и общения с ядром.

4. Основной цикл: Драйвер отслеживает и обрабатывает запросы от ОС через системные вызовы или интерфейсы. Он также реагирует на прерывания от устройства.

5. Взаимодействие с устройством: Драйвер передает и получает данные с устройства, управляя его функциями.

6. Обработка ошибок: Драйвер обрабатывает ошибки и проблемы, минимизируя их воздействие на систему и уведомляя ОС.

7. Выгрузка: По завершении работы драйвер может быть выгружен из ядра ОС.

Важно отметить, что многие драйверы в Linux являются частью ядра ОС. Однако существуют также дополнительные драйверы, которые можно устанавливать и обновлять независимо от ядра.
👍3
📦 Давайте поговорим о работе с архивами формата Tar в Linux. Это удобный способ упаковки и распаковки файлов. Вот несколько команд, которые помогут вам управлять файлами в Tar архиве:

1️⃣ Добавление файлов в архив:

tar -cvf archive.tar file1.txt file2.txt

2️⃣ Удаление файла из архива:

tar -vf archive.tar --delete file1.txt

3️⃣ Обновление файла в архиве (замена):

tar -uvf archive.tar new_file.txt

Не забывайте, что параметры c (create), v (verbose), f (file) и u (update) в этих командах имеют специальные значения. Вы можете прочитать дополнительную информацию, выполнив man tar в терминале.

С уверенностью управляйте архивами в Linux с помощью команд Tar! Если у вас есть вопросы, не стесняйтесь спрашивать. Удачного дня и продуктивной работы! 💻🔒🗃️
👍6
🌄 Доброе утро, друзья Линуксеры! ☕️ Начните свой день с вдохновения и открытий в мире свободного кода. Пусть ваш день будет стабильным, как Debian, и насыщенным новыми знаниями, как Arch. Пусть командная строка вашей жизни будет всегда открыта для возможностей. #LinuxLovers
👍7
🔍 Инвертированный поиск с помощью grep 🔍

Продолжая разговор о мощной команде grep, давайте поговорим о ещё одной интересной возможности — инвертированном поиске. Этот метод позволяет находить строки, в которых отсутствует определённое слово. Весьма полезно, не так ли?

Чтобы воспользоваться инвертированным поиском, добавьте параметр -v в команду grep:

grep -v the <путь/к/папке>

Это позволит вам отобразить все строки, где слово «the» не встречается. Применение такой фильтрации может быть полезным, например, при работе с документами или списками, где слово «the» повторяется часто, и вы хотите сконцентрироваться на других аспектах информации.

Так что, продолжайте исследовать команду grep и раскрывать все её тонкости! 💡 #LinuxTips
👍4
🧑‍💻 Дневник разработки блога проекта

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

Также внедрил пагинацию на главную страницу (ограничение числа постов, выводимых на одной странице и разбиение всех опубликованных постов на n число страниц). Делается это встроенным в Django функционалом, поэтому особых сложностей при внедрении не возникло.
👍4
Существенную помощь в разработке блога проекта оказывает ChatGPT 🤖

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

Очень помогла нейронная сеть в плане внедрения JS-кода, который обеспечивает работу AJAX. Так как с JS я практически никогда не работал, то тут явно понадобилась помощь со стороны. Анализ туториалов занимает слишком много времени, поэтому ChatGPT тут очень пригодился.

Опять-таки писать код полностью без ошибок он, пока что не может, поэтому не получится сказать ему "Разработай мне блог на Django с таким-то функционалом". Полученный код с вероятностью в 90% не взлетит и потребует исправлений, но на небольших участках нейронка отрабатывает на отлично.
👍1
Какой параметр команды ls используется для отображения содержимого директории в виде подробного списка?
Anonymous Quiz
20%
-d
10%
-h
67%
-l
3%
-R
1
🌄 Доброе утро, дорогие подписчики! 🐧 Начнем эту неделю с вдохновения и энтузиазма! Пусть Linux будет вашим верным союзником на этой рабочей неделе, помогая преодолевать любые трудности. Пусть командная строка будет вашим магическим инструментом, а открытый код — ключом к творчеству. Не забывайте делиться своими идеями и успехами с нами — вместе мы создаем невероятное! 🚀💻

#LinuxЛюбителей #ДоброеУтро #РабочаяНеделя #ОткрытыйКод
👍2
🔍 Изучаем Патч Бармина: опасности и удивительные возможности на Unix-системах

Вы, наверное, сталкивались с комментариями вроде: "Просто выполните команду sudo rm -rf /*, и ваша проблема исчезнет". Но знали ли вы, что эта команда именуется как "Патч Бармина"?

Патч Бармина - это юмористическое описание универсального способа "починки" любых неполадок на Unix-системах. Этот "патч" представляет собой всего лишь одну строку, которую следует ввести в терминале от имени root.

Осторожно: данная команда действительно удалит все проблемы, включая саму систему. Используйте ее только на тестовых машинах ради интереса, но никак не на рабочих системах. Надеюсь, вы дочитали до этого абзаца 🤒, не бросив вызов судьбе на рабочем окружении.

Теперь давайте разберемся, как это "чудо" работает.

По умолчанию команда rm проверяет аргументы на соответствие корневой директории. Если передать аргумент /, будет выведено предупреждение. Однако флаг --no-preserve-root позволяет отключить это предупреждение.

При использовании команды rm -rf /* аргументами будут файлы и папки корневой директории. Bash передает этот список команде rm. Чтобы посмотреть, какие элементы в списке, выполните:

printf '%s\n' /*

Вы получите список папок и файлов. Но корневой директории в нем не будет. Далее команда rm начнет удалять все, до чего может достать. Даже если запустить ее от обычного пользователя, многие файлы будут уничтожены.

Для этого процессу достаточно иметь разрешения на чтение, запись и выполнение (rwx) для директории, в которой удаляются файлы, и чтение и выполнение (r-x) для компонентов пути к этой директории.

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

Пример: rm -ri /*. Таким образом, можно удалить содержимое домашней директории пользователя. Но перед каждым удалением будет задан вопрос (ключ -i).

Правда, иногда бывает, что что-то не хочется удалять. В таком случае просто нажмите Enter. Для подтверждения удаления наберите "y" и снова Enter.

Также есть опция --preserve-root. Без аргументов она включает проверку, которая отключается флагом --no-preserve-root. При указании опции с аргументом "all" пропускаются директории, родители которых находятся на другой файловой системе. Например, домашний каталог пользователя может быть на отдельном разделе.

Пример: rm -ri --preserve-root=all /*

Вывод будет следующим:

rm: пропускается '/dev', так как он на другом устройстве
rm: и действует --preserve-root=all
rm: пропускается '/run', так как он на другом устройстве
rm: и действует --preserve-root=all
rm: пропускается '/tmp', так как он на другом устройстве
rm: и действует --preserve-root=all

Выводы следующие: даже без --no-preserve-root команда rm может вызвать неприятности. Всегда изучайте и думайте, прежде чем слепо копировать и запускать что-либо. Ну и всегда стоит оглядываться на скрипты bash от других, особенно если они взяты у Васи Нонейма.

Берегите свои системы и продолжайте исследовать мир Linux! 🐧💻

#LinuxЭнтузиасты #ПатчБармина #UnixСистемы #Осторожно #Безопасность
👍3