🧪🧪📥 Email Alchemy — автономные почтовые сервисы
О настройке собственного сервера электронной почты. Обстоятельно, с объяснениями и конфигами
Подготовьтесь к длиннопосту 😉
#гайд
О настройке собственного сервера электронной почты. Обстоятельно, с объяснениями и конфигами
Подготовьтесь к длиннопосту 😉
#гайд
🔥6👍4
😱🔥 Intel 4004, первому процессору исполнилось 40 лет
15 ноября 1971 года Intel представила первый однокристальный процессор — 4 бита, 16 контактов и 740 КГц
15 ноября 1971 года Intel представила первый однокристальный процессор — 4 бита, 16 контактов и 740 КГц
❤15👍3🤔2🔥1🥰1
🥷💪 Шпаргалка по ZFS
Информация о пулах / файловых системах (ФС) на пулах
Управление пулами / дисками
Создание и свойства ФС
zfs create zfspool/backups создать ФС backups, обе ФС будут бесконтрольно расти, пока не выставлены квоты
Монтирование
Снапшоты
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
— включить disk1zpool replace zfspool /disk1 /disk3
— заменить disk 1, на disk3zpool upgrade -v
— увидеть версию, и фичи текущего ZFS, -a обновит все пулы до новейшей версииСоздание и свойства ФС
zfs create zfspool/data
— создать ФС datazfs 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
— выяснить квоту в пуле на ФС backupszfs set quota=1G zfspool/backups
— установить квоту в 1 Гигабайт на ФС backupszfs list -o compression
— проверить включена компрессия или нетzfs set compression=on zfspool/backups
— включить компрессию на ФС backups в пуле zfspool
zfs set sharesmb=on zfspool/backups
— расшарить по SMB ФС backups средствами ZFSzfs set sharenfs=on zfspool/backups
— расшарить по NFS ФС backups средствами ZFSМонтирование
zfs mount
— показать все примонтированные ФСzfs mount zfspool/backups
— примонтировать backupszfs umount zfspool/backups
— размонтировать ФС backupszfs mount -a
— смонтировать все ФСzfs umount -a Umount
— размонтировать все ФССнапшоты
zfs list -t snapshot
— отобразить все снапшотыzfs list -o space
— сколько занимают места снапшотыzfs snapshot zfspool/backups@test
— создать снапшот ФС backups с названием testzfs rollback zfspool/backups@test
— вернуться к снапшоту backups с названием test, с ключом -r рекурсивно уничтожит промежуточные снапшоты, с ключом -f форсит анмаунт и ремаунтzfs destroy zfspool/backups@test
— уничтожить снапшот backups с названием testzfs send zfspool/backups@march2021 > /home/backups/march2021.bak
— сделать локальный бекап снапшота march2021zfs receive zfspool2/backups2 < /home/backups/march2021.bak
— восстановить из локального снапшота ФС на другом пулеzfs send zfspool/backups@march2021 | ssh COMP02 «zfs receive testpool/testfs»
— отправить снапшот по SSH на хост COMP02zfs clone zfspool/backups@march2021 /clones/backups
— клонировать существующий снапшотzfs destroy zfspool/backups@march2021
— уничтожить клон👍7🔥3🤔2❤1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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 запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
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 видео
#видео
Бесплатный и полный курс 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🔥3❤2
Очередной #дайджест инструментов и материалов по DevOps
🔹 Terraform-docs — полное руководство по документации Terraform с помощью terraform-docs
🔹 Б значит не Безумие, а Безопасность — автор делится реальным опытом и рассказывает про работу над проектом с кибербезопасностью, безопасностью инфраструктуры и DevSecOps
🔹 Kubernetes Global Balancer — решение для балансировки нагрузки на сервисы, ориентированное на использование облачных технологий и работу с Kubernetes
🔹 Как использовать Serverless для решения ваших задач — как развернуть бота в Telegram для отправки сообщений? Как записать данные в YDB или автоматизировать работу с Object Storage — обо всем в видосах
🔹 New Azure DevOps scopes — новиночка для приложений Microsoft Identity OAuth с делегированным потоком
🔹 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 — остаётся в файловой системе до тех пор, пока не завершится процесс, который «держит» этот файл.
Соответственно, что бы «освободить» уже удалённые файлы — необходимо перезапустить процесс, который этот файл держит.
df сообщает о наличии 20 Гб занятого пространства, подсчёт занятого файлами места при помощи du даёт результат в 20 Мб. При каких обстоятельствах может возникнуть описанная ситуация?
❤22👍8🥰1
🧠Чему вы бы хотели научиться?
Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?
За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.
👉Опрос по ссылке👈
Расскажите нам о ваших пожеланиях: какие навыки вы хотели бы прокачать в ближайшее время или какую профессию хотели бы приобрести?
За прохождение опроса вы получите промокод на скидку 15% на все наши курсы до конца 2024 года.
👉Опрос по ссылке👈
❤6
Чем отличаются файлы .bashrc .bash_profile .profile и т.п.
Основное различие этих конфигурационных файлов заключается в том, что некоторые из них читаются только оболочками входа (login). Например, при входе в систему с другого хоста или при входе в текстовую консоль локальной unix-машины. Используются файлы .login .profile .zlogin. Зависит от того какая у вас оболочка.
Далее идут конфигурационные файлы, которые читаются «интерактивными» оболочками. То есть подключенными к терминалу или псевдотерминалу. Это файлы с именами .bashrc, .tcshrc, .zshrc и т.д.
Файл .bashrc читается только интерактивной и non-login оболочкой, поэтому большинство людей в конечном итоге инклудят в файле .bash_profile чтение файла .bashrc, например:
А файл .profile, это просто сценарий входа в систему. И изначально использовался в /bin/sh. Оболочка Bash, будучи обратно совместимым с sh, будет читать .profile, если он конечно же существует.
Пример файла .profile
В дистрибутивах семейства Debian сначала выполняется .profile, а потом уже .bash_profile. А вот в дистрибах производных от RHEL, сначала выполняется .bash_profile, а уже потом .profile. Ну вот прям каша!
В документации bash хорошо объясняется, при каких обстоятельствах читается каждый файл. И поведение на разных машинах в целом одинаково.
Выжимка из man bash:
Основное различие этих конфигурационных файлов заключается в том, что некоторые из них читаются только оболочками входа (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Как видим, при login’е заинклудится файл .bashrc.
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
fi
В дистрибутивах семейства 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🔥7❤5🥰5👏5
Подборка лучших статей «Библиотеки программиста» за ноябрь: сохраняй в заметки, чтобы прочесть позже #самыйсок
∞ Дорожная карта DevOps-инженера в 2023 году
⚖️ 25 курсов, книг и подкастов для развития критического мышления
👀 6 способов привлечь внимание работодателя
🤖📜 Искусственный интеллект: краткая история
📰❌ 10 признаков фейковой вакансии
🔤 Азбука SQL в примерах. Часть 1. Создаем базу данных и первую таблицу
🔤 Азбука SQL в примерах. Часть 2. Ограничения, которые упрощают жизнь
∞ Дорожная карта DevOps-инженера в 2023 году
⚖️ 25 курсов, книг и подкастов для развития критического мышления
👀 6 способов привлечь внимание работодателя
🤖📜 Искусственный интеллект: краткая история
📰❌ 10 признаков фейковой вакансии
🔤 Азбука SQL в примерах. Часть 1. Создаем базу данных и первую таблицу
🔤 Азбука SQL в примерах. Часть 2. Ограничения, которые упрощают жизнь
❤3👍1🥰1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in the widget
VIEW IN TELEGRAM
😍4
#вопрос_с_собеседования
Программа сообщает о том, что не может найти свой конфиг. Каким образом можно узнать, где она пытается его найти?
line-buffered опция которая выведет результат как только найдет
strace -f — отслеживание дочерних процессов
strace -f l ftp sitename | & grep --line-buffered open | grep /home/user
Либо в самой программе, если удастся найти параметры
/usr/sbin/mysqld --verbose --help | grep -A 1 «Default options»
Программа сообщает о том, что не может найти свой конфиг. Каким образом можно узнать, где она пытается его найти?
❤36👍5🔥1
📈 Обзор рынка труда в ИТ: III квартал 2023 года
В этой статье обсудим зарплату программистов в III квартале 2023 года, динамику вакансий, тенденции рынка труда в ИТ и многое другое. Присоединяйтесь!
Читать статью
В этой статье обсудим зарплату программистов в III квартале 2023 года, динамику вакансий, тенденции рынка труда в ИТ и многое другое. Присоединяйтесь!
Читать статью
❤5🔥2🥰1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
This media is not supported in the widget
VIEW IN TELEGRAM
👍3
Очередной #дайджест инструментов и материалов по DevOps
🔅 Менеджер логических томов (LVM) в CentOS Stream 9 — конфигурирование томов на боевой виртуалке с подробными объяснениями
🔅 Kubernetes и Kernel Panics — как Netflix’s Container Platform соединяет Linux Kernel Panics с модулями Kubernetes
🔅 Port Knocking в Mikrotik Firewall Filter — что это и как настроить на tcp портах, какие нюансы есть при использовании icmp протокола и чем может помочь данная настройка в работе сетевого инженера
🔅 Простой и удобный шаблон для bash-скриптов выполняемых по расписанию — шаблон скрипта-обёртки на bash для запуска заданий по cron и systemd timers
🔅 Резервное копирование данных — использование cp и rsync в Linux для задач резервного сохранения и восстановления данных
🔅 Менеджер логических томов (LVM) в CentOS Stream 9 — конфигурирование томов на боевой виртуалке с подробными объяснениями
🔅 Kubernetes и Kernel Panics — как Netflix’s Container Platform соединяет Linux Kernel Panics с модулями Kubernetes
🔅 Port Knocking в Mikrotik Firewall Filter — что это и как настроить на tcp портах, какие нюансы есть при использовании icmp протокола и чем может помочь данная настройка в работе сетевого инженера
🔅 Простой и удобный шаблон для bash-скриптов выполняемых по расписанию — шаблон скрипта-обёртки на bash для запуска заданий по cron и systemd timers
🔅 Резервное копирование данных — использование cp и rsync в Linux для задач резервного сохранения и восстановления данных
👍10🥰6🎉6😁4🔥3
🌎 ТОП-10: рейтинг лучших зарубежных работодателей в IT
При составлении рейтинга учитывали различные факторы из открытых данных портала Glassdoor, включая отзывы сотрудников, уровень лояльности действующих и бывших сотрудников, зарплата, льготы, бонусы и прочие бенефиты.
1️⃣ Red Hat
2️⃣ Gainsight
3️⃣ Box
4️⃣ MathWorks
5️⃣ ServiceNow
6️⃣ Marvell Technology
7️⃣ CrowdStrike
8️⃣ Fortinet
9️⃣ NetApp
🔟 Genentech
👉 Читать статью
При составлении рейтинга учитывали различные факторы из открытых данных портала Glassdoor, включая отзывы сотрудников, уровень лояльности действующих и бывших сотрудников, зарплата, льготы, бонусы и прочие бенефиты.
1️⃣ Red Hat
2️⃣ Gainsight
3️⃣ Box
4️⃣ MathWorks
5️⃣ ServiceNow
6️⃣ Marvell Technology
7️⃣ CrowdStrike
8️⃣ Fortinet
9️⃣ NetApp
🔟 Genentech
👉 Читать статью
🔥4👍3🤩1