Библиотека девопса | DevOps, SRE, Sysadmin
10.3K subscribers
1.39K photos
72 videos
4 files
2.6K links
Все самое полезное для девопсера в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/25874ec4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/6798b4e4509aba565
Download Telegram
#вопросы_с_собеседования

Что такое loop devices? Как их можно использовать?

В Unix-подобных операционных системах устройство цикла , vnd (диск vnode) или lofi (интерфейс файла цикла) является псевдоустройством, которое делает компьютерный файл доступным как блочное устройство.

Перед использованием петлевое устройство должно быть подключено к существующему файлу в файловой системе. Ассоциация предоставляет пользователю интерфейс прикладного программирования (API), который позволяет использовать файл вместо блочного специального файла (см. Файловую систему устройства). Таким образом, если файл содержит всю файловую систему, файл может быть смонтирован, как если бы это было дисковое устройство.

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

Петлевое подключение имеет несколько применений. Это удобный метод автономного управления и редактирования образов файловой системы, которые в дальнейшем используются для нормальной работы системы. Сюда входят образы CD или DVD или системы установки. Его можно использовать для установки операционной системы в файловую систему без повторного разбиения диска. Он также обеспечивает постоянное разделение данных, например, при имитации съемных носителей на более быстром и удобном жестком диске или инкапсуляции зашифрованной файловой системы.
🔥6🥰1🎉1
#memes

Защита от белок 🐿️ чтобы провод не грызли.
Раньше ели шнурок, а теперь антенну почти сточили 😂
😁6🤩6
Очередной #дайджест инструментов и материалов по DevOps

🟡 Container Security Fundamentals — автор серии видосов, рассказывает теорию погружения в тему безопасности контейнеров с примерами кода в консоли

🟡 GitHub Actions могли бы быть намного лучше — описание раздражающих нюансов в работе Гита, которые влияют на автора

🟡 Размышления о 10 000 часах DevOps — некоторые размышления после 10 000 часов работы в сфере DevOps

🟡 Темная сторона SRE — хронический стресс, карьерный застой и профессиональный риск, такое тоже может быть

🟡 SRE Stories — SRE, DevOps-инженеры, системные администраторы рассказывают про свою работу и профессиональный путь
🤩11❤‍🔥11👍4🥰1
🔤 Азбука SQL в примерах. Часть 2. Ограничения, которые упрощают жизнь

В предыдущей части мы выяснили, что такое SQL, создали свою первую базу данных и добавили в неё первую таблицу. Пришло время узнать, как сделать добавление данных в неё более простым и надёжным.

🔗 Читать статью
🔗 Зеркало
4
This media is not supported in your browser
VIEW IN TELEGRAM
Rustypaste

Это минималистичный и простой сервис загрузки, написанный на Rust и реализованный с использованием веб-фреймворка Actix, как наиболее подходящий фреймворк с точки зрения безопасности, производительности и простоты.

Самый простой способ взаимодействия с сервером rustypaste — использовать curl, но вы можете использовать инструмент командной строки под названием rpaste, который написан на Rust.

Возможности:

〽️ Загрузка файла, сокращение URL и загрузка по ссылке
〽️ Один бинарник
〽️ Простая конфигурация
〽️ Простота развертывания
〽️ Нет базы данных
〽️ Self-hosted
🔥8👍5👏3🎉3🥰2
🧪🧪📥 Email Alchemy — автономные почтовые сервисы

О настройке собственного сервера электронной почты. Обстоятельно, с объяснениями и конфигами

Подготовьтесь к длиннопосту 😉

#гайд
🔥6👍4
😱🔥 Intel 4004, первому процессору исполнилось 40 лет

15 ноября 1971 года Intel представила первый однокристальный процессор — 4 бита, 16 контактов и 740 КГц
15👍3🤔2🔥1🥰1
🥷💪 Шпаргалка по ZFS

modinfo zfs | head -n 9 — узнать версию ZFS и другие подробности

Информация о пулах / файловых системах (ФС) на пулах
zpool list — статус пулов
zpool status -v — статус пулов подробный
zfs list — список ФС, так называются монтируемые разделы в пулах
zfs get all — вся информация по пулам

Управление пулами / дисками
ls -lha /dev/disk/by-id/ — выяснить id дисков чтобы потом на них создать пул (не юзайте имя диска типа sda — они динамически меняются)
zpool create zfspool disk-id-1 disk-id-2 — может быть сколько угодно дисков
zpool create -m /mnt/backups zfspool disk-id-1 — создать пул с указанием папки 
zpool destroy zfspool — уничтожить пул
mkfile 100m disk1 disk2 — создать файлы дисков
zpool create backups /disk1 /disk2- создать пул backups на созданных файлах
zpool create zfspool mirror /disk1 /disk2 — создать пул zfspool с зеркалированием на 2 диска
zpool add zfspool /disk3 — добавить диск в пул
zpool attach zfspool /disk3 — добавить устройство в пул, если он в зеркале — добавится в зеркало, если простой — пул расширится
zpool detach zfspool /disk3 — исключить устройство из пула
zpool remove zfspool /disk3 — удаление устройства из пула
zpool add zfspool spare /disk3 — добавление диска горячей замены в пул
zpool remove zfspool spare /disk3 — удаление диска горячей замены из пула
zpool offline zfspool /disk1 — отключить устройство, на него не будет чтения/записи, если добавить ключ -t, то после ребута станет онлайн
zpool online zfspool /disk1 — включить disk1
zpool replace zfspool /disk1 /disk3 — заменить disk 1, на disk3
zpool upgrade -v — увидеть версию, и фичи текущего ZFS, -a обновит все пулы до новейшей версии

Создание и свойства ФС
zfs create zfspool/data — создать ФС data
zfs create zfspool/backups создать ФС backups, обе ФС будут бесконтрольно расти, пока не выставлены квоты
zfs destroy -fr zfspool/backups/old — уничтожит ФС old, ключ -r — рекурсивно, если внутри ещё несколько ФС, -f — форсить
zfs set reservation=1G zfspool/data — зарезервировать 1 Гигабайт, который ФС гарантированно получит, а другие не займут
zfs list -o quota zfspool/backups — выяснить квоту в пуле на ФС backups
zfs set quota=1G zfspool/backups — установить квоту в 1 Гигабайт на ФС backups
zfs list -o compression — проверить включена компрессия или нет
zfs set compression=on zfspool/backups — включить компрессию на ФС backups в пуле zfspool
zfs set sharesmb=on zfspool/backups
 — расшарить по SMB ФС backups средствами ZFS
zfs set sharenfs=on zfspool/backups — расшарить по NFS ФС backups средствами ZFS

Монтирование
zfs mount — показать все примонтированные ФС
zfs mount zfspool/backups — примонтировать backups
zfs umount zfspool/backups — размонтировать ФС backups
zfs mount -a — смонтировать все ФС
zfs umount -a Umount — размонтировать все ФС

Снапшоты
zfs list -t snapshot — отобразить все снапшоты
zfs list -o space — сколько занимают места снапшоты
zfs snapshot zfspool/backups@test — создать снапшот ФС backups с названием test
zfs rollback zfspool/backups@test — вернуться к снапшоту backups с названием test, с ключом -r рекурсивно уничтожит промежуточные снапшоты, с ключом -f форсит анмаунт и ремаунт
zfs destroy zfspool/backups@test — уничтожить снапшот backups с названием test
zfs send zfspool/backups@march2021 > /home/backups/march2021.bak — сделать локальный бекап снапшота march2021
zfs receive zfspool2/backups2 < /home/backups/march2021.bak — восстановить из локального снапшота ФС на другом пуле
zfs send zfspool/backups@march2021 | ssh COMP02 «zfs receive testpool/testfs» — отправить снапшот по SSH на хост COMP02
zfs clone zfspool/backups@march2021 /clones/backups — клонировать существующий снапшот
zfs destroy zfspool/backups@march2021 — уничтожить клон
👍7🔥3🤔21
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы

#️⃣C#

Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие профильные каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика

💼Каналы с вакансиями

Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
4👍3
💪🧑‍🏫 Мощный курс от Cisco CCNA

Бесплатный и полный курс CCNA, охватывающий все, что вам нужно для сдачи последней версии экзамена CCNA (код экзамена 200-301). Нет лучшего способа начать свою карьеру в сфере ИТ, чем сертификация Cisco CCNA. Среди основных тем:

♦️ Network Devices
♦️ Anki Flashcards
♦️ Packet Tracer Introduction
♦️ Interfaces and Cables
♦️ Connecting Devices
♦️ OSI Model & TCP/IP Suite
♦️ OSI Model
♦️ Intro to the CLI
♦️ Basic Device Security
♦️ Ethernet LAN Switching

На данный момент доступно 118 видео

#видео
❤‍🔥22👍4🔥32
Очередной #дайджест инструментов и материалов по DevOps

🔹 Terraform-docs — полное руководство по документации Terraform с помощью terraform-docs

🔹 Б значит не Безумие, а Безопасность — автор делится реальным опытом и рассказывает про работу над проектом с кибербезопасностью, безопасностью инфраструктуры и DevSecOps

🔹 Kubernetes Global Balancer — решение для балансировки нагрузки на сервисы, ориентированное на использование облачных технологий и работу с Kubernetes

🔹 Как использовать Serverless для решения ваших задач — как развернуть бота в Telegram для отправки сообщений? Как записать данные в YDB или автоматизировать работу с Object Storage — обо всем в видосах

🔹 New Azure DevOps scopes — новиночка для приложений Microsoft Identity OAuth с делегированным потоком
👍8👏5🥰3🎉3🤩3
#вопросы_с_собеседования

df сообщает о наличии 20 Гб занятого пространства, подсчёт занятого файлами места при помощи du даёт результат в 20 Мб. При каких обстоятельствах может возникнуть описанная ситуация?

Когда файл удален т. к. файловый дескриптор «держит» его.

Ищем файл через:

lsof -a +L1 | grep var | grep httpd

При удалении файла, который в этот момент был «занят» процессом — его имя удаляется, но inode — остаётся в файловой системе до тех пор, пока не завершится процесс, который «держит» этот файл.

Соответственно, что бы «освободить» уже удалённые файлы — необходимо перезапустить процесс, который этот файл держит.
22👍8🥰1
🧠Чему вы бы хотели научиться?

Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?

За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.

👉Опрос по ссылке👈
6
Чем отличаются файлы .bashrc .bash_profile .profile и т.п.

Основное различие этих конфигурационных файлов заключается в том, что некоторые из них читаются только оболочками входа (login). Например, при входе в систему с другого хоста или при входе в текстовую консоль локальной unix-машины. Используются файлы .login .profile .zlogin. Зависит от того какая у вас оболочка.

Далее идут конфигурационные файлы, которые читаются «интерактивными» оболочками. То есть подключенными к терминалу или псевдотерминалу. Это файлы с именами .bashrc, .tcshrc, .zshrc и т.д.

Файл .bashrc читается только интерактивной и non-login оболочкой, поэтому большинство людей в конечном итоге инклудят в файле .bash_profile чтение файла .bashrc, например:

[[ -r ~/.bashrc ]] && . ~/.bashrc

Другие оболочки ведут себя по-другому. Например, в zsh, файл .zshrc всегда читается для интерактивной оболочки, независимо от того, является ли она login или нет.

А файл .profile, это просто сценарий входа в систему. И изначально использовался в /bin/sh. Оболочка Bash, будучи обратно совместимым с sh, будет читать .profile, если он конечно же существует.

Пример файла .profile

if [ "$BASH" ]; then
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi

Как видим, при login’е заинклудится файл .bashrc.

В дистрибутивах семейства Debian сначала выполняется .profile, а потом уже .bash_profile. А вот в дистрибах производных от RHEL, сначала выполняется .bash_profile, а уже потом .profile. Ну вот прям каша! 

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

Выжимка из man bash:

/bin/bash - The bash executable
/etc/profile - The systemwide initialization file, executed for login shells
/etc/bash.bashrc - The systemwide per-interactive-shell startup file
/etc/bash.bash.logout - The systemwide login shell cleanup file, executed when a login shell exits
~/.bash_profile - The personal initialization file, executed for login shells
~/.bashrc - The individual per-interactive-shell startup file
~/.bash_logout - The individual login shell cleanup file, executed when a login shell exits
~/.inputrc - Individual readline initialization file
👍14🔥75🥰5👏5
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in the widget
VIEW IN TELEGRAM
😍4