Однажды, на одном интервью меня спросили, что ты будешь делать, если обнаружишь неработающий сервис из-за того, что на диске закончилось место?
Конечно же я ответил, что посмотрю, чем занято это место и если возможно, то почищу место.
Тогда интервьюер спросил, а что если на разделе нет свободного места, но и файлов, которые бы занимали все место, ты тоже не видишь?
На это я сказал, что всегда можно посмотреть открытые файл дескрипторы, например командой lsof и понять какое приложение заняло все доступное место, а дальше можно действовать по обстоятельствам, в зависимости от того, нужны ли данные.
Интервьюер прервал меня на последнем слове, дополнив свой вопрос: «Предположим, что данные нам не нужны, это просто дебаг лог, но приложение не работает из-за того, что не может записать дебаг»?
«окей», — ответил я, «мы можем выключить дебаг в конфиге приложения и перезапустить его».
Интервьюер возразил: «Нет, приложение мы перезапустить не можем, у нас в памяти все еще хранятся важные данные, а к самому сервису подключены важные клиенты, которых мы не можем заставлять переподключаться заново».
«ну хорошо», сказал я, «если мы не можем перезапускать приложение и данные нам не важны, то мы можем просто очистить этот открытый файл через файл дескриптор, даже если мы его не видим в команде ls на файловой системе».
Интервьюер остался доволен, а я нет.
Тогда я подумал, почему человек, проверяющий мои знания, не копает глубже? А что, если данные все-таки важны? Что если мы не можем перезапускать процесс, и при этом этот процесс пишет на файловую систему в раздел, на котором нет свободного места? Что если мы не можем потерять не только уже записанные данные, но и те данные, что этот процесс пишет или пытается записать?
Читать полностью »
Рубрика «linux» - 86
Файл дескриптор в Linux с примерами
2019-10-10 в 18:45, admin, рубрики: descriptors, linux, python, Серверное администрирование, системное программированиеКак использовать systemd-nspawn для восстановления Linux-системы
2019-10-07 в 13:57, admin, рубрики: linux, systemd, Блог компании OTUS. Онлайн-образование, Настройка Linux, Разработка под LinuxПеревод статьи подготовлен специально для студентов курса «Администратор Linux».

Разбираемся со способностью systemd запускать контейнеры для восстановления корневой файловой системы поврежденной системы.
До тех пор пока будут существовать системы GNU/Linux, системным администраторам будет необходимо восстанавливаться после повреждения корневой файловой системы, случайных изменений конфигурации или других ситуаций, которые не дают системе загрузиться в «нормальное» состояние.
Читать полностью »
Линус Торвальдс одобрил внедрение функции ограничения прав суперпользователя Lockdown в версии ядра 5.4 ОС Linux
2019-10-05 в 16:58, admin, рубрики: linux, lockdown, информационная безопасность, Линус Торвальдс, Разработка под Linux, Софт, ядро Linux
На днях стало известно о том, что Линус Торвальдс одобрил добавление новой функции безопасности в ядро Linux. Она называется Lockdown и предназначена для ограничения прав суперпользователя. Появится функция в версии ядра 5.4, причем речь идет именно о «ванильном» ядре, а не дистрибутивах.
Функцию добавят под видом модуля безопасности LSM (Linux Security Module). В результате процессы, которые запущены в пространстве пользователя, будут разграничены более жестко, с кодом ядра запретят взаимодействовать даже привилегированным аккаунтам.
Читать полностью »
Linux tips & tricks: сервер, откройся
2019-10-03 в 15:14, admin, рубрики: knock, knockd, linux, системное администрирование, троллейбус из буханки хлеба, удаленная работа, удаленное управлениеТем, кому надо обеспечить себе, любимому, доступ к своим серверам из любой точки мира по SSH/RDP/иное — небольшое RTFM/шпора.
Huawei будет устанавливать российский Astra Linux на новые модели своих серверов
2019-10-03 в 7:15, admin, рубрики: huawei, linux, договоры, Законодательство в IT, Компьютерное железо, Россия, сотрудничество, Софт
Разработчик Astra Linux подписал соглашение о технологическом партнерстве с китайской компанией Huawei. Основная цель сотрудничества — разработка совместных IT-решений на территории России. Документ подписан после проведения тестовых испытаний работы серверов Huawei Taishan 100/200 2280 с ОС Astra Linux Special Edition.
Соглашение между российской и китайской компаниями было заключено на форуме Huawei Connect 2019. Основой новых решений станут решения китайской компании Taishan 100/200 2280 с архитектурой ARMv8 и ПО российской стороны.
Читать полностью »
Gradle + LLVM
2019-10-02 в 16:20, admin, рубрики: c++, clang, gcc, gradle, linux, LLVM, Visual Studio, windows, Разработка под Linux, разработка под windows, С++Этот небольшой пост может оказаться полезен тем, кто хотел бы быстро начать работать с LLVM, не заморачиваясь с закачкой исходников и просторойкой фреймворка. Кто не хотел бы ковыряться в малопонятных скриптах CMake-а чтобы добиться ожидаемого результата, ну и наконец, просто для ленивых :)
Я расскажу, как сделать это изящно, буквально парой строк в билд-скрипте Gradle-а.
Читать полностью »
Права в Linux (chown, chmod, SUID, GUID, sticky bit, ACL, umask)
2019-10-01 в 12:11, admin, рубрики: linux, Настройка Linux, системное администрированиеВсем привет. Это перевод статьи из книги RedHat RHCSA RHCE 7 RedHat Enterprise Linux 7 EX200 and EX300.
От себя: Надеюсь статья будет полезна не только начинающим, но и поможет более опытным администраторам упорядочить свои знания.
Итак, поехали.
Интегрируем команды Linux в Windows с помощью PowerShell и WSL
2019-09-28 в 10:41, admin, рубрики: bash, linux, powershell, WSL, автозавершение, Оболочки, разработка под windows, СофтТипичный вопрос разработчиков под Windows: «Почему здесь до сих пор нет <ВСТАВЬТЕ ТУТ ЛЮБИМУЮ КОМАНДУ LINUX>?». Будь то мощное пролистывание less или привычные инструменты grep или sed, разработчики под Windows хотят получить лёгкий доступ к этим командам в повседневной работе.
Подсистема Windows для Linux (WSL) сделала огромный шаг вперёд в этом отношении. Она позволяет вызывать команды Linux из Windows, проксируя их через wsl.exe (например, wsl ls). Хотя это значительное улучшение, но такой вариант страдает от ряда недостатков.
Читать полностью »
Книга «Безопасный DevOps. Эффективная эксплуатация систем»
2019-09-25 в 11:14, admin, рубрики: devops, linux, Блог компании Издательский дом «Питер», книги, книги по программированию, Профессиональная литература
Привет, Хаброжители! Приложение, запущенное в облаке, обладает множеством преимуществ, но в то же время подвержено особенным угрозам. Задача DevOps-команд — оценивать эти риски и усиливать защиту системы от них. Книга основана на уникальном опыте автора и предлагает важнейшие стратегические решения для защиты веб-приложений от атак, предотвращения попыток вторжения. Вы увидите, как обеспечить надежность при автоматизированном тестировании, непрерывной поставке и ключевых DevOps-процессах. Научитесь выявлять, оценивать и устранять уязвимости, существующие в вашем приложении. Автор поможет ориентироваться в облачных конфигурациях, а также применять популярные средства автоматизации. Требуется знание Linux и владение стандартными практиками DevOps, такими как CI, CD и модульное тестирование.
Читать полностью »
CentOS 8 доступна для загрузки
2019-09-24 в 13:00, admin, рубрики: CentOS, linux, redhat, дождались, Серверное администрирование, системное администрированиеСпустя 140 дней после выхода Red Hat Enterprise Linux 8, стала доступна для загрузки CentOS 8.
Ссылка на загрузку пока недоступна из соответствующего раздела сайта centos.org, но файлы дистрибутива уже размещены на зеркалах. Информация о выходе нового релиза так же зафиксирована в WikipediaЧитать полностью »

