👍3🔥2
Файл дескриптор в 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