Файл дескриптор в Linux с примерами
Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место?
Конечно же я ответил, что посмотрю, чем занято это место и если возможно, то почищу место.
Тогда интервьюер спросил, а что если на разделе нет свободного места, но и файлов, которые бы занимали все место, ты тоже не видишь?
На это я сказал, что всегда можно посмотреть открытые файл дескрипторы, например командой lsof и понять какое приложение заняло все доступное место, а дальше можно действовать по обстоятельствам, в зависимости от того, нужны ли данные.
Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?
«окей», — ответил я, «мы можем выключить дебаг в конфиге приложения и перезапустить его».
Интервьюер возразил: «Нет, приложение мы перезапустить не можем, у нас в памяти все еще хранятся важные данные, а к самому сервису подключены важные клиенты, которых мы не можем заставлять переподключаться заново».
«ну хорошо», сказал я, «если мы не можем перезапускать приложение и данные нам не важны, то мы можем просто очистить этот открытый файл через файл дескриптор, даже если мы его не видим в команде ls на файловой системе».
Интервьюер остался доволен, а я нет.
Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
https://habr.com/ru/articles/471038/
👉@linuxchmod
Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место?
Конечно же я ответил, что посмотрю, чем занято это место и если возможно, то почищу место.
Тогда интервьюер спросил, а что если на разделе нет свободного места, но и файлов, которые бы занимали все место, ты тоже не видишь?
На это я сказал, что всегда можно посмотреть открытые файл дескрипторы, например командой lsof и понять какое приложение заняло все доступное место, а дальше можно действовать по обстоятельствам, в зависимости от того, нужны ли данные.
Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?
«окей», — ответил я, «мы можем выключить дебаг в конфиге приложения и перезапустить его».
Интервьюер возразил: «Нет, приложение мы перезапустить не можем, у нас в памяти все еще хранятся важные данные, а к самому сервису подключены важные клиенты, которых мы не можем заставлять переподключаться заново».
«ну хорошо», сказал я, «если мы не можем перезапускать приложение и данные нам не важны, то мы можем просто очистить этот открытый файл через файл дескриптор, даже если мы его не видим в команде ls на файловой системе».
Интервьюер остался доволен, а я нет.
Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
https://habr.com/ru/articles/471038/
👉@linuxchmod
👍4
Подборка софта с открытым исходным кодом для резервного копирования
Amanda - Инструмент резервного копирования по модели клиент-сервер.
Backupninja - Легкая, расширяемая мета-система резервного копирования.
BackupPC - высокопроизводительная система для резервного копирования на диск.
Bareos - Форк инструмента резервного копирования Bacula.
Barman - Менеджер резервного копирования и восстановления для аварийного восстановления серверов PostgreSQL.
BorgBackup - форк дедуплицирующей программы резервного копирования Attic, написанной на Python.
Burp - Программа резервного копирования и восстановления данных по сети.
DREBS - Скрипт резервного копирования AWS EBS, поддерживающий стратегии.
Dar - Что означает Disk ARchive, это надежная и многофункциональная программа архивирования и резервного копирования в стиле tar. (Исходный код) GPL-2.0 C++
Duplicati - Многочисленные бэкэнды, шифрование, web-ui и инструмент резервного копирования для нескольких ОС.
Duplicity - Шифрованное резервное копирование с эффективной пропускной способностью, использующее алгоритм rsync.
Elkarbackup - Решение для резервного копирования на основе RSnapshot с простым веб-интерфейсом.
rclone - программа командной строки для синхронизации файлов и каталогов с несколькими облачными системами хранения/провайдерами.
Rdiff-backup - простое удаленное инкрементное резервное копирование всех ваших файлов.
Restic - Безопасный инструмент удаленного резервного копирования. Разработан для простого, быстрого, надежного и эффективного резервного копирования.
Rsnapshot - Утилита для создания моментальных снимков файловой системы.
Shield - подключаемая архитектура для резервного копирования и восстановления систем баз данных.
Snebu - Резервное копирование моментальных снимков с глобальной мультиклиентской дедупликацией и прозрачным сжатием.
UrBackup - Еще одна клиент-серверная система резервного копирования.
ZBackup - Универсальный инструмент резервного копирования с дедупликацией.
👉@linuxchmod
Amanda - Инструмент резервного копирования по модели клиент-сервер.
Backupninja - Легкая, расширяемая мета-система резервного копирования.
BackupPC - высокопроизводительная система для резервного копирования на диск.
Bareos - Форк инструмента резервного копирования Bacula.
Barman - Менеджер резервного копирования и восстановления для аварийного восстановления серверов PostgreSQL.
BorgBackup - форк дедуплицирующей программы резервного копирования Attic, написанной на Python.
Burp - Программа резервного копирования и восстановления данных по сети.
DREBS - Скрипт резервного копирования AWS EBS, поддерживающий стратегии.
Dar - Что означает Disk ARchive, это надежная и многофункциональная программа архивирования и резервного копирования в стиле tar. (Исходный код) GPL-2.0 C++
Duplicati - Многочисленные бэкэнды, шифрование, web-ui и инструмент резервного копирования для нескольких ОС.
Duplicity - Шифрованное резервное копирование с эффективной пропускной способностью, использующее алгоритм rsync.
Elkarbackup - Решение для резервного копирования на основе RSnapshot с простым веб-интерфейсом.
rclone - программа командной строки для синхронизации файлов и каталогов с несколькими облачными системами хранения/провайдерами.
Rdiff-backup - простое удаленное инкрементное резервное копирование всех ваших файлов.
Restic - Безопасный инструмент удаленного резервного копирования. Разработан для простого, быстрого, надежного и эффективного резервного копирования.
Rsnapshot - Утилита для создания моментальных снимков файловой системы.
Shield - подключаемая архитектура для резервного копирования и восстановления систем баз данных.
Snebu - Резервное копирование моментальных снимков с глобальной мультиклиентской дедупликацией и прозрачным сжатием.
UrBackup - Еще одна клиент-серверная система резервного копирования.
ZBackup - Универсальный инструмент резервного копирования с дедупликацией.
👉@linuxchmod
👍3🔥2
Подборка программного обеспечения для виртуализации
ConVirt - Предоставляет основные функции для централизованного управления виртуализированной средой KVM или Xen.
Ganeti - Программное средство управления кластерными виртуальными серверами, построенное на базе KVM и Xen.
KVM - инфраструктура виртуализации ядра Linux.
OpenNebula - Гибкое корпоративное облако, сделанное простым.
OpenNode - Создает программное обеспечение для управления инфраструктурой с открытым исходным кодом и реализует облачные системы.
oVirt - Управление виртуальными машинами, хранилищами и виртуальными сетями.
Packer - Инструмент для создания идентичных образов машин для нескольких платформ из одной исходной конфигурации.
Proxmox VE - Решение для управления виртуализацией.
QEMU - универсальный эмулятор и виртуализатор машин.
Vagrant - Инструмент для создания полноценных сред разработки.
VirtualBox - Продукт виртуализации от корпорации Oracle.
XCP-ng - Основанная на Citrix XenServer, XCP-ng является полностью открытой платформой виртуализации.
Xen - Монитор виртуальных машин для 32/64 битных архитектур Intel / AMD (IA 64) и PowerPC 970.
👉@linuxchmod
ConVirt - Предоставляет основные функции для централизованного управления виртуализированной средой KVM или Xen.
Ganeti - Программное средство управления кластерными виртуальными серверами, построенное на базе KVM и Xen.
KVM - инфраструктура виртуализации ядра Linux.
OpenNebula - Гибкое корпоративное облако, сделанное простым.
OpenNode - Создает программное обеспечение для управления инфраструктурой с открытым исходным кодом и реализует облачные системы.
oVirt - Управление виртуальными машинами, хранилищами и виртуальными сетями.
Packer - Инструмент для создания идентичных образов машин для нескольких платформ из одной исходной конфигурации.
Proxmox VE - Решение для управления виртуализацией.
QEMU - универсальный эмулятор и виртуализатор машин.
Vagrant - Инструмент для создания полноценных сред разработки.
VirtualBox - Продукт виртуализации от корпорации Oracle.
XCP-ng - Основанная на Citrix XenServer, XCP-ng является полностью открытой платформой виртуализации.
Xen - Монитор виртуальных машин для 32/64 битных архитектур Intel / AMD (IA 64) и PowerPC 970.
👉@linuxchmod
👍7
Изменить порт по умолчанию или настроить файрвол правильно?
Любой сервер, подключенный напрямую к сети интернет, должен быть надёжно защищён.
Будем разбираться, как этого достичь и что можно использовать.
Есть следующие методы на пути к обеспечению безопасности ваших серверов:
- надёжная парольная защита,
- своевременное обновление программного обеспечения,
- защита с помощью межсетевого экрана.
Применять эти методы следует в совокупности, остановимся подробнее на каждом из них.
https://habr.com/ru/companies/ruvds/articles/738446/
👉@linuxchmod
Любой сервер, подключенный напрямую к сети интернет, должен быть надёжно защищён.
Будем разбираться, как этого достичь и что можно использовать.
Есть следующие методы на пути к обеспечению безопасности ваших серверов:
- надёжная парольная защита,
- своевременное обновление программного обеспечения,
- защита с помощью межсетевого экрана.
Применять эти методы следует в совокупности, остановимся подробнее на каждом из них.
https://habr.com/ru/companies/ruvds/articles/738446/
👉@linuxchmod
👍3🔥1
TCP vs UDP
Приведу 7 отличий, которые было бы неплохо знать.
Существует два способа установить соединение перед отправкой данных с одного устройства на другое: с установлением соединения (connection-oriented) и без установления соединения (connectionless). В первом случае создается сквозное соединение между отправителем и получателем перед передачей данных с сохранением порядка передачи пакетов. Во втором случае пакеты передаются между отправителем и получателем без создания какого-либо соединения. Пакеты проходят по разным маршрутам от отправителя к получателю, этот способ ненадежен и не гарантирует доставку пакетов.
https://habr.com/ru/articles/732794/
👉@linuxchmod
Приведу 7 отличий, которые было бы неплохо знать.
Существует два способа установить соединение перед отправкой данных с одного устройства на другое: с установлением соединения (connection-oriented) и без установления соединения (connectionless). В первом случае создается сквозное соединение между отправителем и получателем перед передачей данных с сохранением порядка передачи пакетов. Во втором случае пакеты передаются между отправителем и получателем без создания какого-либо соединения. Пакеты проходят по разным маршрутам от отправителя к получателю, этот способ ненадежен и не гарантирует доставку пакетов.
https://habr.com/ru/articles/732794/
👉@linuxchmod
👍5
Инструменты для поиска и устранения неисправностей
grml - загрузочный Live CD Debian с мощными инструментами CLI
https://grml.org/
mitmproxy - инструмент Python, используемый для перехвата, просмотра и модификации сетевого трафика. Незаменим при устранении некоторых проблем
https://mitmproxy.org/
mtr - сетевая утилита, объединяющая traceroute и ping
https://www.bitwizard.nl/mtr/
perf-tools - инструменты анализа производительности, основанные на Linux perf_events (aka perf) и ftrace.
https://github.com/brendangregg/perf-tools
wireshark - лучший в мире анализатор сетевых протоколов
https://www.wireshark.org/
👉@linuxchmod
grml - загрузочный Live CD Debian с мощными инструментами CLI
https://grml.org/
mitmproxy - инструмент Python, используемый для перехвата, просмотра и модификации сетевого трафика. Незаменим при устранении некоторых проблем
https://mitmproxy.org/
mtr - сетевая утилита, объединяющая traceroute и ping
https://www.bitwizard.nl/mtr/
perf-tools - инструменты анализа производительности, основанные на Linux perf_events (aka perf) и ftrace.
https://github.com/brendangregg/perf-tools
wireshark - лучший в мире анализатор сетевых протоколов
https://www.wireshark.org/
👉@linuxchmod
👍3🔥1
Linux 101
Навигация в Linux (pwd, ls, cd)
Операции над файлами и каталогами (touch, stat, mkdir, cp, mv, rm, rmdir)
Жесткие и символические ссылки (ln, stat)
Права доступа в Linux (база, umask, атрибуты)
Метасимволы
источник
👉@linuxchmod
Навигация в Linux (pwd, ls, cd)
Операции над файлами и каталогами (touch, stat, mkdir, cp, mv, rm, rmdir)
Жесткие и символические ссылки (ln, stat)
Права доступа в Linux (база, umask, атрибуты)
Метасимволы
источник
👉@linuxchmod
👍5🔥1
Media is too big
VIEW IN TELEGRAM
Прохождение IP пакета между сетями
Подробно описан процесс прохождения пакета между сетями, его структура и объяснено назначение основных полей Ip заголовка. Указаны изменяемые и неизменяемые в процессе пересылки части пакета. Описан процесс фрагментации и дефрагментации пакета.
👉@linuxchmod
Подробно описан процесс прохождения пакета между сетями, его структура и объяснено назначение основных полей Ip заголовка. Указаны изменяемые и неизменяемые в процессе пересылки части пакета. Описан процесс фрагментации и дефрагментации пакета.
👉@linuxchmod
🔥3🥰1
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Курс Cisco CCNA
CCNA ITN 1.2 Компоненты сети
CCNA ITN 1.3 Представление и топологии сетей
CCNA ITN 1.4 Основные типы сетей
CCNA ITN 1.5.1 Интернет подключения
CCNA ITN 1.5.2 Установка Cisco Packet Tracer
CCNA ITN 1.6 Надежные сети
CCNA ITN 1.8 Сетевая безопасность
CCNA ITN 1.9 Специалист в сфере ИТ
CCNA ITN 2.0 Базовая конфигурация коммутатора и оконечного устройства
CCNA ITN 2.1 Доступ к Cisco IOS
CCNA ITN 2.2 Навигация по IOS
CCNA ITN 2.3 Структура команд
CCNA ITN 2.4 Базовая настройка устройств
CCNA ITN 2.5 Сохранение конфигураций
CCNA ITN 2.6 Адреса и порты
CCNA ITN 3 0 Протоколы и модели
CCNA ITN 3.1 Правила
CCNA ITN 3.2 Протоколы
CCNA ITN 3.3 Наборы протоколов
CCNA ITN 3.4 Организации по стандартизации
CCNA ITN 3.5 Эталонные модели OSI TCP IP
CCNA ITN 3.6 Инкапсуляция данных
CCNA ITN 3.7 Доступ к данным
CCNA ITN 4.1 - Назначение физического уровня
CCNA ITN 4.2 - Характеристики физического уровня
CCNA ITN 4.3 Медные кабели
CCNA ITN 4.4 Кабели UTP
CCNA ITN 4.5 Оптоволоконные кабели
CCNA ITN 4.6 Беспроводная среда передачи данных
CCNA ITN 5.1 Двоичная система счисления
CCNA ITN 5.2 Шестнадцатеричная система счисления
CCNA ITN 6.0 Канальный уровень
CCNA ITN 7.1 Кадр Ethernet
CCNA ITN 7.2 Mac-адрес Ethernet
CCNA ITN 7.3 Таблица MAC-адресов
CCNA ITN 7.4 Способы пересылки на коммутаторах
CCNA ITN 8.1 Сетевой уровень Характеристики сетевого уровня
CCNA ITN 8.2 - 8.3 Сетевой уровень. Пакет ipv4 и ipv6
Все видео на youtube
👉@linuxchmod
CCNA ITN 1.2 Компоненты сети
CCNA ITN 1.3 Представление и топологии сетей
CCNA ITN 1.4 Основные типы сетей
CCNA ITN 1.5.1 Интернет подключения
CCNA ITN 1.5.2 Установка Cisco Packet Tracer
CCNA ITN 1.6 Надежные сети
CCNA ITN 1.8 Сетевая безопасность
CCNA ITN 1.9 Специалист в сфере ИТ
CCNA ITN 2.0 Базовая конфигурация коммутатора и оконечного устройства
CCNA ITN 2.1 Доступ к Cisco IOS
CCNA ITN 2.2 Навигация по IOS
CCNA ITN 2.3 Структура команд
CCNA ITN 2.4 Базовая настройка устройств
CCNA ITN 2.5 Сохранение конфигураций
CCNA ITN 2.6 Адреса и порты
CCNA ITN 3 0 Протоколы и модели
CCNA ITN 3.1 Правила
CCNA ITN 3.2 Протоколы
CCNA ITN 3.3 Наборы протоколов
CCNA ITN 3.4 Организации по стандартизации
CCNA ITN 3.5 Эталонные модели OSI TCP IP
CCNA ITN 3.6 Инкапсуляция данных
CCNA ITN 3.7 Доступ к данным
CCNA ITN 4.1 - Назначение физического уровня
CCNA ITN 4.2 - Характеристики физического уровня
CCNA ITN 4.3 Медные кабели
CCNA ITN 4.4 Кабели UTP
CCNA ITN 4.5 Оптоволоконные кабели
CCNA ITN 4.6 Беспроводная среда передачи данных
CCNA ITN 5.1 Двоичная система счисления
CCNA ITN 5.2 Шестнадцатеричная система счисления
CCNA ITN 6.0 Канальный уровень
CCNA ITN 7.1 Кадр Ethernet
CCNA ITN 7.2 Mac-адрес Ethernet
CCNA ITN 7.3 Таблица MAC-адресов
CCNA ITN 7.4 Способы пересылки на коммутаторах
CCNA ITN 8.1 Сетевой уровень Характеристики сетевого уровня
CCNA ITN 8.2 - 8.3 Сетевой уровень. Пакет ipv4 и ipv6
Все видео на youtube
👉@linuxchmod
🔥8👍3💩1🍌1