Какой механизм позволяет ядру Linux выгружать редко используемые страницы памяти на диск?
Anonymous Quiz
55%
Swap
23%
Page Cache
4%
OOM Killer
18%
Kernel Paging
👍8🤣6
Восстановление root-пароля в Ubuntu
Забыли root-пароль в Ubuntu? Не паникуйте! Сбросить пароль можно за несколько минут. Мы рассмотрим два способа восстановления: через Recovery Mode и альтернативный метод через Grub.
Эти методы работают на обычных системах, а также в виртуальных машинах (VMware, VirtualBox).
Способ 1: Сброс пароля через Recovery Mode
Этот метод удобен, если у вас есть доступ к меню загрузки Grub.
⏺ Шаг 1: Вход в режим восстановления
1. Перезагрузите компьютер.
2. Если меню Grub не появляется автоматически, нажимайте Shift во время загрузки.
3. В меню выберите Advanced Options for Ubuntu.
4. Найдите вариант с (recovery mode) и выберите его.
После небольшой загрузки появится меню восстановления.
⏺ Шаг 2: Переход в командную строку root
1. В списке выберите Root (Drop to root shell prompt).
2. Нажмите Enter – вы попадете в терминал с root-доступом.
⏺ Шаг 3: Разрешение записи в корневой раздел
По умолчанию корневой раздел доступен только для чтения, поэтому перед изменением пароля нужно разрешить запись:
⏺ Шаг 4: Сброс пароля
1. Посмотрите список пользователей:
Здесь будут показаны все пользовательские папки – выберите нужного пользователя.
2. Сбросьте пароль:
(вместо username подставьте имя пользователя).
3. Дважды введите новый пароль.
⏺ Шаг 5: Перезагрузка системы
1. Введите команду выхода:
2. Вернетесь в меню восстановления – выберите Resume boot для загрузки системы.
3. После перезагрузки можно войти с новым паролем.
Способ 2: Сброс пароля через Grub
Этот метод подходит, если Recovery Mode недоступен или не работает.
Шаг 1: Изменение параметров в Grub
Перезагрузите компьютер и нажимайте Shift, пока не появится меню Grub.
Дальше выберите Ubuntu и нажмите E (редактировать параметры загрузки). И найдите строку, начинающуюся с linux, замените ro на rw и добавьте в конец:
Нажмите Ctrl + X, чтобы загрузиться в систему.
Теперь вы окажетесь в командной строке bash без пароля.
Шаг 2: Смена пароля
Введите команду:
Дважды введите новый пароль. И перезагрузите систему командой:
После перезагрузки вы сможете войти в систему с новым паролем.
Возможные ошибки и их решение
⏺ Ошибка “Authentication token manipulation error”
Проблема: Файловая система доступна только для чтения.
Решение: Разрешите запись перед изменением пароля:
⏺ Нет пункта “Recovery Mode” в Grub
Проблема: В меню загрузки отсутствует пункт Recovery Mode.
Решение:
• Выберите Ubuntu в Grub, нажмите E для редактирования параметров.
• В конце строки загрузки добавьте single.
• Нажмите Ctrl + X или F10, чтобы загрузиться в терминал суперпользователя.
⏺ Ошибка “end Kernel panic” при загрузке
Проблема: Ошибка загрузки ядра.
Решение: Удалите параметр splash boot при редактировании загрузки в Grub.
⏺ Ошибка “Failed to connect to bus” при перезагрузке
Проблема: Некорректное завершение системы после смены пароля.
Решение: Используйте команду:
Забыли root-пароль в Ubuntu? Не паникуйте! Сбросить пароль можно за несколько минут. Мы рассмотрим два способа восстановления: через Recovery Mode и альтернативный метод через Grub.
Эти методы работают на обычных системах, а также в виртуальных машинах (VMware, VirtualBox).
Способ 1: Сброс пароля через Recovery Mode
Этот метод удобен, если у вас есть доступ к меню загрузки Grub.
1. Перезагрузите компьютер.
2. Если меню Grub не появляется автоматически, нажимайте Shift во время загрузки.
3. В меню выберите Advanced Options for Ubuntu.
4. Найдите вариант с (recovery mode) и выберите его.
После небольшой загрузки появится меню восстановления.
1. В списке выберите Root (Drop to root shell prompt).
2. Нажмите Enter – вы попадете в терминал с root-доступом.
По умолчанию корневой раздел доступен только для чтения, поэтому перед изменением пароля нужно разрешить запись:
mount -rw -o remount /
1. Посмотрите список пользователей:
ls /home
Здесь будут показаны все пользовательские папки – выберите нужного пользователя.
2. Сбросьте пароль:
passwd username
(вместо username подставьте имя пользователя).
3. Дважды введите новый пароль.
1. Введите команду выхода:
exit
2. Вернетесь в меню восстановления – выберите Resume boot для загрузки системы.
3. После перезагрузки можно войти с новым паролем.
Способ 2: Сброс пароля через Grub
Этот метод подходит, если Recovery Mode недоступен или не работает.
Шаг 1: Изменение параметров в Grub
Перезагрузите компьютер и нажимайте Shift, пока не появится меню Grub.
Дальше выберите Ubuntu и нажмите E (редактировать параметры загрузки). И найдите строку, начинающуюся с linux, замените ro на rw и добавьте в конец:
init=/bin/bash
Нажмите Ctrl + X, чтобы загрузиться в систему.
Теперь вы окажетесь в командной строке bash без пароля.
Шаг 2: Смена пароля
Введите команду:
passwd username
Дважды введите новый пароль. И перезагрузите систему командой:
shutdown -r now
После перезагрузки вы сможете войти в систему с новым паролем.
Возможные ошибки и их решение
Проблема: Файловая система доступна только для чтения.
Решение: Разрешите запись перед изменением пароля:
mount -rw -o remount /
Проблема: В меню загрузки отсутствует пункт Recovery Mode.
Решение:
• Выберите Ubuntu в Grub, нажмите E для редактирования параметров.
• В конце строки загрузки добавьте single.
• Нажмите Ctrl + X или F10, чтобы загрузиться в терминал суперпользователя.
Проблема: Ошибка загрузки ядра.
Решение: Удалите параметр splash boot при редактировании загрузки в Grub.
Проблема: Некорректное завершение системы после смены пароля.
Решение: Используйте команду:
exec /sbin/init
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37❤5🤨1
🧓🏻📱 “Дед, ну не тупи!” – или как не отстать от технологий, а зарабатывать на этом!
Помните, как учили деда пользоваться кнопочным телефоном?
Он держал его, как инопланетный артефакт. Не понимал, куда нажимать. Вы злились, объясняли, но он всё равно не понимал.
Теперь представьте: в будущем ваши внуки так же будут учить ВАС. Вы будете смотреть на нейросети, технологии и ИИ с таким же ужасом 🤯
❌ Звучит страшно? НО ВЫХОД ЕСТЬ!
💻👉🏻 Hey, Tech! | Технологии и AI - место, где тебе не дадут устареть. Где ты каждый день будешь узнавать, как развивается мир технологий, что стоит за нейросетями и как они могут работать на тебя и твой кошелек.
💰 Мы рассказываем о свежих способах заработка на нейросетях, новых платформах и трендах.
⏳ Мы экономим твое время!
Вместо того, чтобы разбираться в десятках источников, ты получаешь выжимку самой важной и полезной информации в одном месте.
📲 Подпишись на Hey, Tech! | Технологии и AI и забудь о страхе стать “дедом, который не шарит”.
Помните, как учили деда пользоваться кнопочным телефоном?
Он держал его, как инопланетный артефакт. Не понимал, куда нажимать. Вы злились, объясняли, но он всё равно не понимал.
Теперь представьте: в будущем ваши внуки так же будут учить ВАС. Вы будете смотреть на нейросети, технологии и ИИ с таким же ужасом 🤯
❌ Звучит страшно? НО ВЫХОД ЕСТЬ!
💻👉🏻 Hey, Tech! | Технологии и AI - место, где тебе не дадут устареть. Где ты каждый день будешь узнавать, как развивается мир технологий, что стоит за нейросетями и как они могут работать на тебя и твой кошелек.
💰 Мы рассказываем о свежих способах заработка на нейросетях, новых платформах и трендах.
⏳ Мы экономим твое время!
Вместо того, чтобы разбираться в десятках источников, ты получаешь выжимку самой важной и полезной информации в одном месте.
📲 Подпишись на Hey, Tech! | Технологии и AI и забудь о страхе стать “дедом, который не шарит”.
❤6👍5😁3
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Основные компоненты:
— VRRP-инстанс: следит за состоянием узлов и управляет VIP.
— Script-checks: выполняет пользовательские проверки работоспособности.
— Notify-скрипты: запускаются при смене активного узла.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
🤔Что нужно, чтобы настроить разработку, тестирование и развертывание наиболее рациональным образом?
👉🏻 Сделали развернутый обзор актуальных DevOps инструментов в 2025 году
Расскажем:
✔️ Основные категории DevOps инструментов
✔️ Развернутый обзор популярных DevOps инструментов
✔️ Почему DevOps инструменты необходимы?
👉🏻Забрать разбор в боте
Реклама ООО «Слёрм» ИНН 3652901451
👉🏻 Сделали развернутый обзор актуальных DevOps инструментов в 2025 году
Расскажем:
✔️ Основные категории DevOps инструментов
✔️ Развернутый обзор популярных DevOps инструментов
✔️ Почему DevOps инструменты необходимы?
👉🏻Забрать разбор в боте
Реклама ООО «Слёрм» ИНН 3652901451
👍1
Как определить версию Linux?
Linux — это целое семейство операционных систем, и иногда бывает необходимо узнать, какая именно версия установлена.
Самый простой способ — использовать команду:
Она покажет название дистрибутива, его версию, кодовое имя и текущую версию ядра.
Важное уточнение
Часто всю систему называют просто Linux, но технически это неверно. Linux — это только ядро системы, а GNU — это набор библиотек и инструментов, которые делают систему полноценной. Вместе они образуют GNU/Linux, хотя в обиходе принято сокращать до просто Linux.
Дополнительные способы определения версии
Проверка пакетного менеджера
Если hostnamectl вам не помог, можно определить систему по ее пакетному менеджеру. В Linux чаще всего используются три основных менеджера пакетов:
• rpm – для Red Hat-подобных систем (RHEL, CentOS, Fedora)
• dpkg – для Debian-подобных систем (Debian, Ubuntu, Mint)
• pacman – для Arch Linux и его производных (Manjaro)
Чтобы проверить, какой пакетный менеджер установлен, выполните:
Вывод покажет путь к используемому менеджеру. Например:
• /usr/bin/dpkg – указывает на Debian/Ubuntu
• /bin/rpm – указывает на Red Hat (RHEL, CentOS, Fedora)
Проверка версии дистрибутива
CentOS и RHEL
Для CentOS:
Для RHEL:
Для Fedora аналогично:
Debian, Ubuntu, Mint
Этот файл содержит информацию о версии дистрибутива.
Arch Linux
Для Arch Linux проверять версию бессмысленно, так как при каждом обновлении (pacman -Syu) система становится актуальной версией.
Проверка системных параметров
Версия ядра и архитектура
Узнать версию ядра и разрядность системы можно командой:
Вывод будет содержать информацию о версии ядра и архитектуре процессора (x86_64, arm и т. д.).
Архитектура процессора
Чтобы узнать детали о процессоре, используйте команду:
Она покажет модель процессора, количество ядер, тактовую частоту и разрядность.
Linux — это целое семейство операционных систем, и иногда бывает необходимо узнать, какая именно версия установлена.
Особенно это актуально при установке программ, обновлениях или настройке системы.
Самый простой способ — использовать команду:
hostnamectl
Она покажет название дистрибутива, его версию, кодовое имя и текущую версию ядра.
Важное уточнение
Часто всю систему называют просто Linux, но технически это неверно. Linux — это только ядро системы, а GNU — это набор библиотек и инструментов, которые делают систему полноценной. Вместе они образуют GNU/Linux, хотя в обиходе принято сокращать до просто Linux.
Дополнительные способы определения версии
Проверка пакетного менеджера
Если hostnamectl вам не помог, можно определить систему по ее пакетному менеджеру. В Linux чаще всего используются три основных менеджера пакетов:
• rpm – для Red Hat-подобных систем (RHEL, CentOS, Fedora)
• dpkg – для Debian-подобных систем (Debian, Ubuntu, Mint)
• pacman – для Arch Linux и его производных (Manjaro)
Чтобы проверить, какой пакетный менеджер установлен, выполните:
for i in rpm dpkg pacman; do which $i; done 2>/dev/null
Вывод покажет путь к используемому менеджеру. Например:
• /usr/bin/dpkg – указывает на Debian/Ubuntu
• /bin/rpm – указывает на Red Hat (RHEL, CentOS, Fedora)
Проверка версии дистрибутива
CentOS и RHEL
Для CentOS:
cat /etc/centos-release
Для RHEL:
cat /etc/redhat-release
Для Fedora аналогично:
cat /etc/fedora-release
Debian, Ubuntu, Mint
cat /etc/issue
Этот файл содержит информацию о версии дистрибутива.
Arch Linux
Для Arch Linux проверять версию бессмысленно, так как при каждом обновлении (pacman -Syu) система становится актуальной версией.
Проверка системных параметров
Версия ядра и архитектура
Узнать версию ядра и разрядность системы можно командой:
uname -a
Вывод будет содержать информацию о версии ядра и архитектуре процессора (x86_64, arm и т. д.).
Архитектура процессора
Чтобы узнать детали о процессоре, используйте команду:
lscpu
Она покажет модель процессора, количество ядер, тактовую частоту и разрядность.
👍15👎1
‼️ Администрация нашего канала специально для вас купила доступ в частный клуб за 1500 долларов
Тезисно: в канале будут сигналы, новости, обзор рынка, которых нет в официальном доступе, общение с единомышленниками, обучение - без него никуда и конечно юмор.
До завтрашнего дня оставлю доступ в канал бесплатным. Все, кто успеет подписаться - останутся бесплатно навсегда. Кто захочет подписаться после 25 февраля, смогут сделать это только платно 👇
Вступить — https://t.iss.one/+vRkxpCeXULlkMDli
Тезисно: в канале будут сигналы, новости, обзор рынка, которых нет в официальном доступе, общение с единомышленниками, обучение - без него никуда и конечно юмор.
До завтрашнего дня оставлю доступ в канал бесплатным. Все, кто успеет подписаться - останутся бесплатно навсегда. Кто захочет подписаться после 25 февраля, смогут сделать это только платно 👇
Вступить — https://t.iss.one/+vRkxpCeXULlkMDli
💊14😁3🤪3👍1🔥1
Morse Micro представила Wi-Fi HaLow маршрутизатор с дальностью до 16 км
Morse Micro выпустила маршрутизатор MM−HL1−EXT на базе Wi-Fi HaLow (IEEE 802.11ah). Он передаёт данные на 16 км в открытой местности и до 3 км в городе.
Внутри двухъядерный MediaTek MT7621A, 256 МБ ОЗУ и чип MM6108 (мощность 23 дБм). Есть порты Ethernet WAN/LAN, USB-C и поддержка OpenWrt 23.05.
Маршрутизатор уже продаётся в США, Канаде и Австралии за $99.
В сентябре Morse Micro установила рекорд, передав Wi-Fi HaLow на 15,9 км.
Morse Micro выпустила маршрутизатор MM−HL1−EXT на базе Wi-Fi HaLow (IEEE 802.11ah). Он передаёт данные на 16 км в открытой местности и до 3 км в городе.
Работает в диапазонах 900 МГц (США) и 868 МГц (EMEA), обеспечивая устойчивый сигнал, но с ограничением скорости до 32 Мбит/с. Также поддерживает Wi-Fi 4 (2,4 ГГц) с пиковыми 300 Мбит/с.
Внутри двухъядерный MediaTek MT7621A, 256 МБ ОЗУ и чип MM6108 (мощность 23 дБм). Есть порты Ethernet WAN/LAN, USB-C и поддержка OpenWrt 23.05.
Маршрутизатор уже продаётся в США, Канаде и Австралии за $99.
В сентябре Morse Micro установила рекорд, передав Wi-Fi HaLow на 15,9 км.
👍16🔥6❤1😁1
Какой параметр ядра можно использовать для включения защиты от атак типа “Stack Smashing”?
Anonymous Quiz
33%
kernel.randomize_va_space
18%
kernel.nx
24%
fs.protected_symlinks
25%
net.ipv4.tcp_syncookies
👍5
Как расширить диск сервера в CentOS? (Часть 1)
Очень частая ситуация: виртуальная машина на Linux (CentOS) работает долго, пока в какой-то момент не заканчивается место. В Hyper-V или VMware можно просто увеличить виртуальный диск, но внутри системы ничего не изменится, и сервер все равно будет считать, что дисковое пространство осталось прежним.
В этой инструкции разберем, как расширить диск в CentOS, управляя Physical Volume (PV), Volume Group (VG) и Logical Volume (LV).
Можно ли расширить существующий диск?
Перед тем как что-то делать, проверьте, есть ли у вас возможность создать новый раздел.
Если диск уже имеет 4 раздела, то расширить его невозможно — в этом случае придется создавать новый диск и добавлять его в систему отдельно.
Проверяем количество разделов командой:
Пример вывода, где можно добавить новый раздел:
У нас 2 раздела — значит, можно добавить еще 2.
А вот если уже 4 раздела, то расширение невозможно:
В этом случае придется создавать новый диск, а не расширять существующий.
Если у вас менее 4 разделов, идем дальше!
Создание нового раздела
Допустим, вы уже увеличили виртуальный диск, и система его видит. Теперь создадим новый раздел.
1️⃣ Проверяем текущие диски командой:
Пример вывода:
2️⃣ Запускаем fdisk для редактирования диска:
3️⃣ Внутри утилиты вводим:
• n → создаем новый раздел
• p → выбираем Primary (основной)
• Указываем номер (например, 3)
• Дважды нажимаем Enter, чтобы использовать все доступное место
4️⃣ Меняем тип раздела на LVM (8e):
5️⃣ Сохраняем изменения:
Обновление таблицы разделов
Теперь нужно, чтобы система увидела новый раздел. Запускаем:
Если не сработало, попробуйте:
Если после этого новый раздел не появился, придется перезагрузить сервер.
Проверяем результат:
Если новый раздел появился (например, /dev/sda3), значит, все прошло успешно.
Очень частая ситуация: виртуальная машина на Linux (CentOS) работает долго, пока в какой-то момент не заканчивается место. В Hyper-V или VMware можно просто увеличить виртуальный диск, но внутри системы ничего не изменится, и сервер все равно будет считать, что дисковое пространство осталось прежним.
В этой инструкции разберем, как расширить диск в CentOS, управляя Physical Volume (PV), Volume Group (VG) и Logical Volume (LV).
Можно ли расширить существующий диск?
Перед тем как что-то делать, проверьте, есть ли у вас возможность создать новый раздел.
Если диск уже имеет 4 раздела, то расширить его невозможно — в этом случае придется создавать новый диск и добавлять его в систему отдельно.
Проверяем количество разделов командой:
fdisk -l
Пример вывода, где можно добавить новый раздел:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 2636 20972857+ 8e Linux LVM
У нас 2 раздела — значит, можно добавить еще 2.
А вот если уже 4 раздела, то расширение невозможно:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 25 200781 83 Linux
/dev/sda2 26 2636 20972857+ 8e Linux LVM
/dev/sda3 2637 19581 136110712+ 8e Linux LVM
/dev/sda4 19582 22844 26210047+ 8e Linux LVM
В этом случае придется создавать новый диск, а не расширять существующий.
Если у вас менее 4 разделов, идем дальше!
Создание нового раздела
Допустим, вы уже увеличили виртуальный диск, и система его видит. Теперь создадим новый раздел.
fdisk -l
Пример вывода:
Disk /dev/sda: 10.7 GB, 10737418240 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 391 3036285 8e Linux LVM
fdisk /dev/sda
• n → создаем новый раздел
• p → выбираем Primary (основной)
• Указываем номер (например, 3)
• Дважды нажимаем Enter, чтобы использовать все доступное место
t
3
8e
w
Обновление таблицы разделов
Теперь нужно, чтобы система увидела новый раздел. Запускаем:
partprobe -s
Если не сработало, попробуйте:
partx -v -a /dev/sda
Если после этого новый раздел не появился, придется перезагрузить сервер.
Проверяем результат:
fdisk -l
Если новый раздел появился (например, /dev/sda3), значит, все прошло успешно.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥3
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
При выполнении source script.sh (или . script.sh) код исполняется в текущем процессе shell, а все изменения (например, объявленные переменные) сохраняются в текущей сессии.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22✍2🔥2❤1
Продвинутые CLI-команды для разработчиков (Часть 1)
Нет, здесь мы не будем говорить о базовых командах вроде ls, rm и cd. Вы и так их знаете.
Эта статья для тех, кто уже уверенно работает в терминале и хочет прокачать свои навыки.
Wget — загрузка файлов из сети
wget — это утилита для скачивания файлов по HTTP, HTTPS и FTP. Работает в фоновом режиме, не требует взаимодействия с пользователем и позволяет загружать файлы даже после выхода из системы.
Простой пример скачивания файла:
Полезные опции:
• -c — продолжить загрузку, если она была прервана
• -O — задать имя выходного файла
• -r — рекурсивная загрузка (например, всей папки)
Скачивание сайта целиком:
SCP — безопасное копирование файлов между серверами
SCP (Secure Copy) — это защищенный способ копирования файлов между удаленными машинами через SSH.
Копирование файла с удаленного сервера на локальный компьютер:
Копирование файла с локального компьютера на удаленный сервер:
Копирование каталога (с флагом -r):
SSH-ключи — избавляемся от ввода пароля
Чтобы автоматизировать SSH-подключения и работу с Git, создайте пару ключей с помощью:
После генерации добавьте публичный ключ на сервер:
Теперь можно подключаться без пароля:
CHMOD — управление правами доступа
Изменение прав доступа к файлам:
Расшифровка:
• 664 — владелец и группа могут читать и записывать, остальные — только читать
• 775 — владелец и группа могут читать, записывать и выполнять, остальные — только читать и выполнять
Полный доступ ко всем:
Нет, здесь мы не будем говорить о базовых командах вроде ls, rm и cd. Вы и так их знаете.
Эта статья для тех, кто уже уверенно работает в терминале и хочет прокачать свои навыки.
Wget — загрузка файлов из сети
wget — это утилита для скачивания файлов по HTTP, HTTPS и FTP. Работает в фоновом режиме, не требует взаимодействия с пользователем и позволяет загружать файлы даже после выхода из системы.
Простой пример скачивания файла:
wget https://website.com/static/images/header.jpg
Полезные опции:
• -c — продолжить загрузку, если она была прервана
• -O — задать имя выходного файла
• -r — рекурсивная загрузка (например, всей папки)
Скачивание сайта целиком:
wget -r -np -k https://example.com
SCP — безопасное копирование файлов между серверами
SCP (Secure Copy) — это защищенный способ копирования файлов между удаленными машинами через SSH.
Копирование файла с удаленного сервера на локальный компьютер:
scp [email protected]:/path/to/foobar.txt /local/directory/
Копирование файла с локального компьютера на удаленный сервер:
scp /local/directory/foobar.txt [email protected]:/path/to/destination/
Копирование каталога (с флагом -r):
SSH-ключи — избавляемся от ввода пароля
Чтобы автоматизировать SSH-подключения и работу с Git, создайте пару ключей с помощью:
ssh-keygen -t ed25519
После генерации добавьте публичный ключ на сервер:
ssh-copy-id [email protected]
Теперь можно подключаться без пароля:
ssh [email protected]
CHMOD — управление правами доступа
Изменение прав доступа к файлам:
chmod 664 robots.txt
chmod 775 public/images
Расшифровка:
• 664 — владелец и группа могут читать и записывать, остальные — только читать
• 775 — владелец и группа могут читать, записывать и выполнять, остальные — только читать и выполнять
Полный доступ ко всем:
chmod 777 script.sh
👍16
Слышали ли вы, что...
❓SRE — это просто «продвинутый DevOps»,
❓внедрение SRE требует огромных ресурсов и подходит только гигантам вроде Google,
❓SRE занимается только устранением инцидентов.
Правда в том, что эти и многие другие убеждения далеки от реальности. Мы собрали для вас PDF-файл, в котором разоблачаем самые популярные мифы о SRE.
Это must-have для тех, кто хочет понять, как SRE может помочь именно вашей работе и бизнесу, без лишних сложностей и заблуждений.
📍Переходите к боту-помощнику и забирайте полезный PDF прямо сейчас 🔗
Реклама. ООО "СЛЁРМ". ИНН 3652901451. erid: 2W5zFGro77n
❓SRE — это просто «продвинутый DevOps»,
❓внедрение SRE требует огромных ресурсов и подходит только гигантам вроде Google,
❓SRE занимается только устранением инцидентов.
Правда в том, что эти и многие другие убеждения далеки от реальности. Мы собрали для вас PDF-файл, в котором разоблачаем самые популярные мифы о SRE.
Это must-have для тех, кто хочет понять, как SRE может помочь именно вашей работе и бизнесу, без лишних сложностей и заблуждений.
📍Переходите к боту-помощнику и забирайте полезный PDF прямо сейчас 🔗
Реклама. ООО "СЛЁРМ". ИНН 3652901451. erid: 2W5zFGro77n
👍2
Продвинутые CLI-команды для разработчиков (Часть 2)
Продолжаем разбирать полезные команды, которые помогут вам работать быстрее и эффективнее в терминале.
Tar — архивируем файлы в консоли
tar позволяет создавать и извлекать архивы без потери структуры каталогов.
Создать архив без сжатия:
Создать сжатый архив (с gzip):
Распаковать архив в текущую папку:
Распаковать в указанную папку:
Alias — сокращаем длинные команды
Если вы часто вводите длинные команды, создайте для них псевдонимы (alias).
Пример:
Теперь вместо git status можно просто писать gs.
Но! Эти псевдонимы временные — после перезапуска терминала они исчезнут.
Чтобы сделать их постоянными, добавьте их в ~/.bashrc или ~/.zshrc:
Совет 1: Перенаправление вывода
Вместо того чтобы читать длинный вывод команды в терминале, его можно сохранить в файл:
А если нужен и файл, и экран — используем tee:
Запустить вторую команду только если первая провалилась:
mkdir images || echo "Папка уже существует"
Продолжаем разбирать полезные команды, которые помогут вам работать быстрее и эффективнее в терминале.
Tar — архивируем файлы в консоли
tar позволяет создавать и извлекать архивы без потери структуры каталогов.
Создать архив без сжатия:
tar -cvf my-archive.tar /path/to/directory
Создать сжатый архив (с gzip):
tar -czvf my-archive.tar.gz /path/to/directory
Распаковать архив в текущую папку:
tar -xvf my-archive.tar
Распаковать в указанную папку:
tar -xvf my-archive.tar -C /home/user/folder/
Alias — сокращаем длинные команды
Если вы часто вводите длинные команды, создайте для них псевдонимы (alias).
Пример:
alias gs="git status"
alias ll="ls -lah"
Теперь вместо git status можно просто писать gs.
Но! Эти псевдонимы временные — после перезапуска терминала они исчезнут.
Чтобы сделать их постоянными, добавьте их в ~/.bashrc или ~/.zshrc:
echo 'alias gs="git status"' >> ~/.bashrc
source ~/.bashrc
Совет 1: Перенаправление вывода
Вместо того чтобы читать длинный вывод команды в терминале, его можно сохранить в файл:
ls -al > output.txt # Сохранение вывода в файл
ls -al >> output.txt # Добавление в файл без перезаписи
А если нужен и файл, и экран — используем tee:
ls -al | tee output.txt
Совет 2: Объединение команд
Запустить несколько команд подряд:
ls -al; pwd;
Запустить вторую команду только если первая успешна:
mkdir images && cd images
Запустить вторую команду только если первая провалилась:
mkdir images || echo "Папка уже существует"
👍13❤2
Какие знания ключевые для успешного ИБ-специалиста?
🔴 Знание компьютерных сетей позволяет выявлять 70% уязвимостей, настраивать защиту и анализировать трафик, что критично для предотвращения 90% атак.
Освойте сети за 4 месяца на курсе от Академии Кодебай — стартуем 3 марта. Регистрация
Курс создан для: Junior IT-специалистов, системных администраторов, Web-разработчиков, сетевых инженеров, которые хотят досконально освоить архитектуру сетей
Содержание курса:
✦ Изучение топологии сетей, видов сетевого оборудования
✦ Маршрутизация данных и управление доступом к среде
✦ Протокол IP, транспортный и прикладной уровни
✦ Система имен DNS, безопасность в сетях и противодействие атакам
По всем вопросам пишите @Codeby_Academy
🔴 Знание компьютерных сетей позволяет выявлять 70% уязвимостей, настраивать защиту и анализировать трафик, что критично для предотвращения 90% атак.
Освойте сети за 4 месяца на курсе от Академии Кодебай — стартуем 3 марта. Регистрация
Курс создан для: Junior IT-специалистов, системных администраторов, Web-разработчиков, сетевых инженеров, которые хотят досконально освоить архитектуру сетей
Содержание курса:
✦ Изучение топологии сетей, видов сетевого оборудования
✦ Маршрутизация данных и управление доступом к среде
✦ Протокол IP, транспортный и прикладной уровни
✦ Система имен DNS, безопасность в сетях и противодействие атакам
По всем вопросам пишите @Codeby_Academy
👍2
Какой инструмент позволяет просматривать открытые сокеты в Linux и фильтровать их по PID?
Anonymous Quiz
23%
netstat
22%
ss
26%
lsof
29%
Все перечисленные
😁10👍6👌3
Настройка и использование Docker Compose
Docker Compose — это инструмент для управления многоконтейнерными приложениями.
Он позволяет описывать и запускать сервисы через YAML-файл, а затем управлять ими с помощью всего одной команды.
1️⃣ Установка и настройка проекта
Создайте каталог проекта и перейдите в него:
Создайте файл app.py с простым веб-приложением на Flask + Redis:
Создайте requirements.txt для зависимостей:
Теперь напишем Dockerfile, который описывает, как собирать контейнер:
2️⃣ Конфигурация Docker Compose
Создайте docker-compose.yml, в котором определим сервисы:
Здесь:
• web — наше Flask-приложение, которое собирается из Dockerfile.
• redis — сервис Redis, использующий готовый образ.
3️⃣ Запуск проекта
Теперь просто запустите Compose:
Вы должны увидеть вывод, похожий на этот:
Откройте в браузере
4️⃣ Горячая правка кода без пересборки
Чтобы не пересобирать контейнер при изменении кода, обновите docker-compose.yml:
Теперь код изменяется на лету, без пересборки образа.
Пример: измените app.py:
Перезагрузите страницу в браузере — новый текст появится без перезапуска контейнера.
Docker Compose — это инструмент для управления многоконтейнерными приложениями.
Он позволяет описывать и запускать сервисы через YAML-файл, а затем управлять ими с помощью всего одной команды.
Создайте каталог проекта и перейдите в него:
mkdir composetest
cd composetest
Создайте файл app.py с простым веб-приложением на Flask + Redis:
import time
import redis
from flask import Flask
app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)
def get_hit_count():
retries = 5
while True:
try:
return cache.incr('hits')
except redis.exceptions.ConnectionError as exc:
if retries == 0:
raise exc
retries -= 1
time.sleep(0.5)
@app.route('/')
def hello():
count = get_hit_count()
return f'Hello World! I have been seen {count} times.'
Создайте requirements.txt для зависимостей:
flask
redis
Теперь напишем Dockerfile, который описывает, как собирать контейнер:
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["flask", "run"]
Создайте docker-compose.yml, в котором определим сервисы:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
Здесь:
• web — наше Flask-приложение, которое собирается из Dockerfile.
• redis — сервис Redis, использующий готовый образ.
Теперь просто запустите Compose:
docker-compose up
Вы должны увидеть вывод, похожий на этот:
Creating network "composetest_default" with the default driver
Creating composetest_web_1 ...
Creating composetest_redis_1 ...
web_1 | * Running on https://0.0.0.0:5000/
Откройте в браузере
https://localhost:5000/
, и приложение начнет считать посещения.Чтобы не пересобирать контейнер при изменении кода, обновите docker-compose.yml:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: development
redis:
image: "redis:alpine"
Теперь код изменяется на лету, без пересборки образа.
Пример: измените app.py:
return f'Hello from Docker! I have been seen {count} times.'
Перезагрузите страницу в браузере — новый текст появится без перезапуска контейнера.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤1