DevOps | Вопросы собесов
5.2K subscribers
34 photos
824 links
Cайт easyoffer.ru
Реклама @easyoffer_adv
ВП @easyoffer_vp

Тесты t.me/+2P7cpjeyfDVlZjcy
Вакансии t.me/+i5KFWEWJ21hhYWEy
Download Telegram
🤔 Засчёт чего достигается безопасность https?

Безопасность HTTPS достигается за счет шифрования данных с помощью протоколов SSL/TLS, что защищает их от перехвата и изменений. Также используется проверка подлинности серверов через цифровые сертификаты, гарантируя, что пользователь взаимодействует с легитимным сайтом.

🚩Основные компоненты безопасности HTTPS

🟠Шифрование:
После установления соединения данные шифруются симметричным шифром, который использует общий секретный ключ. Это обеспечивает конфиденциальность передаваемых данных. Для установки симметричного ключа используется асимметричное шифрование, что позволяет безопасно обмениваться ключами даже по незащищённому каналу.

🟠Аутентификация:
Сервер использует цифровой сертификат, выданный доверенным центром сертификации (CA), чтобы подтвердить свою подлинность. Клиент проверяет сертификат и удостоверяется, что общение происходит с настоящим сервером, а не с атакующим.

🟠Целостность данных:
Используются для обеспечения целостности передаваемых данных. Это предотвращает их изменение или повреждение во время передачи.

🟠Защита от атак:
HTTPS защищает от различных видов атак, таких как перехват данных (man-in-the-middle attack) и повторные атаки (replay attacks), благодаря шифрованию и аутентификации.

🚩Процесс установления HTTPS-соединения

1⃣Клиент инициирует соединение:
Клиент (веб-браузер) отправляет запрос на сервер с намерением установить защищённое соединение.

2⃣Сервер отвечает с сертификатом:
Сервер отправляет клиенту свой цифровой сертификат, который включает открытый ключ и информацию о сервере, подписанную центром сертификации (CA).

3⃣Проверка сертификата:
Клиент проверяет сертификат, удостоверяясь, что он был выдан доверенным CA и что сертификат не просрочен или не отозван.

4⃣Установка симметричного ключа:
Клиент генерирует симметричный ключ для сеанса и шифрует его с использованием открытого ключа сервера. Затем клиент отправляет зашифрованный ключ серверу.

5⃣Безопасное соединение:
Сервер расшифровывает симметричный ключ с помощью своего закрытого ключа. Теперь оба участника (клиент и сервер) имеют общий секретный ключ и могут начинать защищённую передачу данных.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥1
🤔 Чем отличается CMD от ENTRYPOINT в DockerFile?

CMD задает команду по умолчанию, которая может быть переопределена при запуске контейнера. ENTRYPOINT определяет неизменяемую команду, которая всегда будет выполняться. CMD обычно используется для указания параметров для ENTRYPOINT.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай
📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
🤔 На системах какого типа inode могут закончиться?

Inode могут закончиться на файловых системах, где общее количество inode фиксировано при создании файловой системы. Это ограничение обычно встречается в традиционных файловых системах типа ext2, ext3, ext4 и других файловых системах, использующих фиксированное количество inode, определенное при инициализации файловой системы.

🚩Как создаются

Когда файловая система создается (например, с помощью команды mkfs), задается определенное количество inode. Это число определяется на основе размера раздела и коэффициента inode (обычно 1 inode на каждые несколько килобайт дискового пространства). После создания файловой системы количество inode не может быть изменено без переразметки файловой системы, что приведет к потере данных.

Cоздания файловой системы с указанием количества inode
Здесь -i 8192 указывает, что один inode создается на каждые 8192 байта пространства.
mkfs.ext4 -i 8192 /dev/sdX1


🚩Проблема исчерпания

Исчерпание inode может произойти на файловой системе с большим количеством небольших файлов. Например, если у вас есть много маленьких файлов (например, миллионы мелких логов или временных файлов), inode могут закончиться, даже если еще есть свободное место на диске.

🚩Как проверить использование

Вы можете проверить количество используемых и доступных inode с помощью команды df -i:
df -i


Вывод будет примерно таким:
Filesystem     Inodes  IUsed  IFree IUse% Mounted on
/dev/sda1 1000000 500000 500000 50% /


🚩Решение проблемы исчерпания

1⃣Удаление ненужных файлов: Удалите ненужные или временные файлы, чтобы освободить inode.
2⃣Создание новой файловой системы: Если проблема серьезная, можно создать новую файловую систему с более высоким коэффициентом inode на доступном пространстве и переместить данные.
3⃣Оптимизация использования пространства: Храните большие файлы вместо большого количества маленьких файлов, когда это возможно.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🤔 Что такое DevOps?

DevOps — это практика, направленная на интеграцию разработки и операционных процессов для ускорения выпуска программного обеспечения. Она включает автоматизацию процессов, улучшение взаимодействия команд и повышение качества продукта. Цель DevOps — ускорить доставку программного обеспечения без потери качества.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знанийм
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🤔1
🤔 Что будет если в докерфайле сразу указать и entry point и cmd?

В Dockerfile можно указать как ENTRYPOINT, так и CMD. Они оба определяют, какая команда будет выполнена при запуске контейнера, но имеют разные цели и взаимодействие между собой.

🚩`ENTRYPOINT` и `CMD` в Dockerfile

🟠`ENTRYPOINT`:
Устанавливает основную команду и аргументы, которые не могут быть переопределены во время запуска контейнера с помощью docker run, за исключением явного использования опции --entrypoint.

🟠`CMD`:
Устанавливает команду и аргументы по умолчанию для запуска контейнера. Эти параметры могут быть переопределены при запуске контейнера, если передать другие аргументы в docker run.

🚩Совместное использование

Когда в Dockerfile указаны оба, ENTRYPOINT и CMD, они работают совместно. CMD предоставляет аргументы по умолчанию для команды, указанной в ENTRYPOINT. Таким образом, CMD будет использоваться в качестве аргументов для ENTRYPOINT, если при запуске контейнера не указаны другие аргументы.
FROM ubuntu:latest

ENTRYPOINT ["echo"]
CMD ["Hello, World!"]


🚩Основные сценарии использования

🟠Фиксированная команда с изменяемыми аргументами:
ENTRYPOINT используется для фиксированной команды, которую контейнер должен всегда выполнять, а CMD для указания аргументов по умолчанию.
🟠Предоставление аргументов по умолчанию:
CMD используется для задания аргументов по умолчанию для команды, указанной в ENTRYPOINT.

🚩Взаимодействие с `docker run`

🟠Если указан только ENTRYPOINT, то команда и аргументы из ENTRYPOINT будут выполнены при запуске контейнера.
🟠Если указан только CMD, то команда и аргументы из CMD будут выполнены при запуске контейнера.
🟠Если указаны оба, то команда из ENTRYPOINT будет выполнена с аргументами из CMD по умолчанию. Если при запуске контейнера указать дополнительные аргументы, они заменят аргументы из CMD.
FROM python:3.9

ENTRYPOINT ["python", "-m"]
CMD ["http.server"]


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍125
🤔 Какие задачи выполнял с использованием Terraform?

Terraform использовался для автоматизации развертывания инфраструктуры в облаке, создания виртуальных машин и настройки сетевых ресурсов. Кроме того, применял его для управления масштабированием сервисов и поддержания инфраструктуры как кода. Это позволило сделать процессы инфраструктурных изменений более управляемыми и предсказуемыми.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔2
🤔 Чем юниксовая система отличается от линуксовой?

Unix и Linux — это две операционные системы, которые часто сравнивают из-за их схожести и общего происхождения. Однако у них есть значительные различия, касающиеся их истории, лицензирования, архитектуры и использования.

🚩Основные отличия между Unix и Linux

🟠Лицензирование
Unix: Большинство версий Unix являются коммерческими и проприетарными. Для их использования требуется лицензия. Некоторые версии, такие как BSD (Berkeley Software Distribution), являются открытыми и лицензируются по лицензии BSD.
Linux: Распространяется по лицензии GNU General Public License (GPL), что означает, что он бесплатен и открыт для использования, модификации и распространения. Исходный код доступен всем, что позволяет пользователям вносить изменения и улучшения.

🟠Архитектура и компоненты
Unix: Часто имеют монолитное ядро, где основные системные службы интегрированы в одно ядро. Обеспечивает многозадачность, многопользовательский режим и защищенную память. Включает стандартные утилиты и шеллы, такие как Bourne Shell (sh).
Linux: Также имеет монолитное ядро, но с модульной архитектурой, что позволяет загружать и выгружать модули в ядро без перезагрузки системы. Включает широкий набор утилит и инструментов GNU, таких как Bash (Bourne Again Shell).

🟠Совместимость и стандарты
Unix: Следуют стандартам POSIX (Portable Operating System Interface), что обеспечивает совместимость между различными версиями Unix. Существует несколько проприетарных версий Unix.
Linux: Также совместим с POSIX, что обеспечивает высокую степень совместимости с Unix-системами. Существует множество дистрибутивов Linux (Debian, Ubuntu, CentOS, Fedora и т.д.), каждый из которых имеет свои особенности и наборы пакетов, но все они основаны на общем ядре Linux.

🟠Применение и популярность
Unix: Используется в крупных корпоративных и научных средах. Часто применяется в критически важных системах благодаря своей надежности и стабильности.
Linux: Широко используется в серверах, суперкомпьютерах, встраиваемых системах, настольных ПК и мобильных устройствах (например, Android). Популярен среди разработчиков и энтузиастов благодаря своей открытости, гибкости и сообществу.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍171
🤔 Чем отличается COPY от ADD?

COPY копирует файлы из локальной системы в контейнер. ADD, кроме копирования файлов, может извлекать архивы и загружать данные по URL. Использование ADD предоставляет дополнительные возможности, но рекомендуется применять COPY для простого копирования файлов.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6
🤔 Какие коды ответа мы получаем от веб-сервера?

Коды ответа (HTTP status codes) от веб-сервера представляют собой числовые коды, которые отправляются клиенту (обычно веб-браузеру) в ответ на его запрос. Эти коды помогают клиенту понять, что произошло с его запросом: был ли он успешен, произошла ли ошибка, требуется ли дополнительное действие и т.д.

🚩HTTP-коды ответа разделены на пять основных категорий:

🟠1xx (Информационные):
Запрос принят, продолжается обработка.
100 Continue: Сервер получил начальную часть запроса, и клиент должен продолжать.
101 Switching Protocols: Сервер принимает запрос на изменение протокола.

🟠2xx (Успех):
Запрос успешно обработан.
200 OK: Запрос успешно обработан, и сервер возвращает запрошенные данные.
201 Created: Запрос успешно выполнен, и в результате создан новый ресурс.
202 Accepted: Запрос принят для обработки, но обработка еще не завершена.
204 No Content: Запрос успешно выполнен, но сервер не возвращает никакого содержимого.

🟠3xx (Перенаправление):
Для завершения обработки запроса требуется дальнейшее действие со стороны клиента.
301 Moved Permanently: Запрашиваемый ресурс был перемещен на новый постоянный URL.
302 Found: Запрашиваемый ресурс временно доступен по другому URL.
304 Not Modified: Запрашиваемый ресурс не изменился со времени последнего доступа (кэширование).
307 Temporary Redirect: Запрашиваемый ресурс временно доступен по другому URL. Клиент должен использовать исходный метод для нового запроса.

🟠4xx (Ошибка клиента):
Ошибка в запросе клиента.
400 Bad Request: Сервер не может обработать запрос из-за неверного синтаксиса.
401 Unauthorized: Запрос требует аутентификации.
403 Forbidden: Сервер понял запрос, но отказывается его выполнять.
404 Not Found: Запрашиваемый ресурс не найден на сервере.
405 Method Not Allowed: Метод, указанный в запросе, не разрешен для запрашиваемого ресурса.
409 Conflict: Запрос не может быть выполнен из-за конфликта с текущим состоянием ресурса.

🟠5xx (Ошибка сервера):
Ошибка на стороне сервера при попытке обработки запроса.
500 Internal Server Error: Общая ошибка сервера. Сервер не может выполнить запрос.
501 Not Implemented: Сервер не поддерживает функциональность, необходимую для выполнения запроса.
502 Bad Gateway: Сервер, действуя как шлюз или прокси, получил неверный ответ от вышестоящего сервера.
503 Service Unavailable: Сервер временно недоступен, обычно из-за перегрузки или технического обслуживания.
504 Gateway Timeout: Сервер, действуя как шлюз или прокси, не дождался ответа от вышестоящего сервера.

Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥1
🤔 Какие задачи выполнял с использованием Terraform?

С Terraform создавал инфраструктуру как код, включая виртуальные машины, сети и системы хранения данных. Применял его для автоматизации управления ресурсами в облачных средах, что обеспечивало быструю и согласованную настройку инфраструктуры. Также использовал для внедрения изменений и управления версиями инфраструктуры.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1😁1
🤔 С какими самыми частыми ошибками сталкивались на линуксе?

🟠Ошибки при обновлении и установке пакетов
Конфликты зависимостей или поврежденные пакеты.

1⃣Использование команды для исправления сломанных зависимостей.
sudo apt-get install -f   


2⃣Очистка кэша пакетов и повторная установка.
sudo apt-get clean
sudo apt-get update


🟠Проблемы с сетью
Нет доступа к интернету или неправильная настройка сети.

1⃣Проверка состояния сетевых интерфейсов.
ip a    


2⃣Перезапуск сетевого сервиса.
sudo systemctl restart NetworkManager    


3⃣Проверка конфигурации DNS
cat /etc/resolv.conf    


🟠Проблемы с правами доступа
Недостаточно прав для выполнения команды или доступа к файлу.

1⃣Использование команды sudo для выполнения команд с привилегиями суперпользователя.
sudo <command>    


2⃣Изменение прав доступа к файлу или директории.
sudo chmod 755 /path/to/directory
sudo chown user:user /path/to/file


🟠Проблемы с загрузкой системы
Система не загружается или застревает на экране загрузки.

1⃣Восстановление загрузчика GRUB.
sudo grub-install /dev/sda
sudo update-grub


2⃣Проверка и исправление файловой системы.
sudo fsck /dev/sda1    


🟠Проблемы с пространством на диске
Недостаточно места на диске для выполнения операций.

1⃣Проверка использования дискового пространства.
df -h    


2⃣Очистка временных файлов и кэша.
sudo apt-get clean
sudo rm -rf /var/cache/apt/archives/*


🟠Проблемы с разрешениями для NFS
Нет доступа к файловой системе NFS.

1⃣Проверка статуса NFS сервера и клиента.
sudo systemctl status nfs-server
sudo systemctl status nfs-client


2⃣Перезапуск NFS сервиса.
sudo systemctl restart nfs-server
sudo systemctl restart nfs-client


🟠Проблемы с зависимостями Python
Проблемы с установкой пакетов Python из-за конфликтов версий.
Использование виртуальных окружений для изоляции зависимостей.
python3 -m venv myenv
source myenv/bin/activate
pip install <package>


🟠Проблемы с SELinux
Блокировка доступа к файлам или портам из-за правил SELinux.

1⃣Просмотр логов SELinux для диагностики.
sudo ausearch -m avc -ts recent    


2⃣Временное переключение SELinux в режим permissive.
sudo setenforce 0    


🟠Проблемы с загрузкой модулей ядра
Модуль ядра не загружается или вызывает ошибку.

1⃣Проверка списка загруженных модулей.
lsmod    


2⃣Загрузка модуля вручную.
sudo modprobe <module>    


🟠Проблемы с настройкой фаервола
Неправильные правила фаервола блокируют трафик.

1⃣Просмотр текущих правил фаервола.
sudo iptables -L    


2⃣Добавление или изменение правил.
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT    


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🤯1
🤔 В чём отличие Deployment от Delivery?

Continuous Deployment подразумевает автоматический выпуск каждой успешной сборки в продакшн. Continuous Delivery предполагает автоматическую подготовку к выпуску, но для выпуска требуется ручное одобрение. Deployment обеспечивает более быстрый и непрерывный процесс, в то время как Delivery фокусируется на стабильности.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4
🤔 Какие утилиты в linux обычно используете для траблшутинга?

🟠`top` и `htop`
Эти утилиты показывают информацию о системных процессах в реальном времени, включая использование CPU, памяти и дискового ввода-вывода.
top
htop


🟠`ps`
Показывает список активных процессов.
ps aux  


🟠`netstat` и `ss`
Показывают сетевые соединения, таблицы маршрутизации, интерфейсы и другую сетевую информацию
netstat -tuln
ss -tuln


🟠`lsof`
Показывает открытые файлы и порты.
lsof
lsof -i :80


🟠`df` и `du`
Показывают информацию о дисковом пространстве. df показывает общий объем использования диска, а du - использование дискового пространства отдельными файлами и директориями.
df -h
du -sh /var/log/*


🟠`ping` и `traceroute`
Используются для диагностики сетевых проблем. ping проверяет доступность хоста, а traceroute показывает путь пакетов к хосту.
ping google.com
traceroute google.com


🟠`curl` и `wget`
Используются для отправки HTTP-запросов и загрузки файлов с веб-серверов. Полезны для проверки доступности веб-сервисов.
curl -I https://www.example.com
wget https://www.example.com/file.zip


🟠`journalctl`
Используется для просмотра системных журналов, управляемых systemd.
journalctl -xe
journalctl -u nginx.service


🟠`dmesg`
Показывает сообщения ядра. Полезно для диагностики аппаратных и загрузочных проблем.
dmesg | grep error  


🟠`strace`
Трассирует системные вызовы и сигналы. Полезно для диагностики проблем с приложениями.
strace -p <PID>  


🟠`tcpdump`
Анализатор сетевых пакетов. Полезно для диагностики сетевых проблем.
tcpdump -i eth0 


🟠`vmstat` и `iostat`
vmstat показывает статистику виртуальной памяти, процессов и CPU. iostat показывает статистику ввода-вывода на устройстве.
vmstat 1
iostat 1


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🤔1
🤔 В чём разница между контейнеризацией и виртуализацией?

Контейнеризация использует контейнеры для изоляции приложений и их зависимостей на уровне операционной системы, что делает контейнеры более лёгкими по сравнению с виртуальными машинами. Виртуализация, в свою очередь, создает полноценные виртуальные машины с собственными ОС поверх гипервизора, что требует больше ресурсов. Контейнеры запускаются на общем ядре ОС хоста, а виртуальные машины имеют свои ядра, что делает их независимыми, но более тяжёлыми. Контейнеры обеспечивают большую гибкость и скорость развертывания по сравнению с виртуальными машинами.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤔3🔥2
🤔 Как проверяете свободное место на диске?

🟠df
disk freе показывает объем свободного и используемого пространства на файловой системе.
df -h  


-h: Показывает информацию в человекочитаемом формате (например, 1K, 234M, 2G).
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1 50G 20G 30G 40% /
tmpfs 1.9G 1.2M 1.9G 1% /dev/shm


🟠du
disk usage показывает использование дискового пространства файлами и директориями. Это полезно для поиска крупных файлов и директорий.
du -sh /var/log/* 


-s: Показывает общий размер каждой аргументированной директории.
-h: Человекочитаемый формат.
12M /var/log/apache2
4.0K /var/log/boot.log
56M /var/log/kern.log


🟠lsblk
Показывает информацию о блочных устройствах, включая диски и их разделы.
lsblk  


Вывод команды
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 50G 0 part /
sdb 8:16 0 100G 0 disk
└─sdb1 8:17 0 100G 0 part /mnt/data


🟠ncdu
NCurses Disk Usage — интерактивная командная утилита для анализа дискового пространства.
ncdu /  


Вывод команды
--- / ---
. 16.0 GiB [##########] /usr
. 8.0 GiB [##### ] /var
. 4.0 GiB [## ] /home


🟠btrfs filesystem df
Используется для файловых систем Btrfs и показывает использование дискового пространства.
sudo btrfs filesystem df /mnt  


Вывод команды
Data, single: total=10.00GiB, used=8.54GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=1.00GiB, used=532.25MiB


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
🤔 Что такое Prometheus?

Prometheus — это система мониторинга и оповещения с открытым исходным кодом, которая собирает метрики с различных источников, храня их в виде временных рядов данных. Он поддерживает гибкий язык запросов PromQL для анализа собранных метрик и построения графиков. Prometheus активно используется для мониторинга инфраструктуры и приложений, а также интегрируется с системами алертинга, такими как Alertmanager. Он особенно полезен для мониторинга микросервисов и облачных приложений.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥51
🤔 Как будете решать проблему если у вас коллега постоянно удаляет файлы rm rf но файлы не исчезают и место на диске не освобождается?

Это может быть связано с тем, что файлы все еще открыты каким-либо процессом. В таких случаях система не освобождает пространство до тех пор, пока процесс не завершится. Вот шаги для диагностики и решения этой проблемы:

1⃣Проверка использования диска
Используйте команду df для проверки использования дискового пространства.
df -h   


Проверьте, сколько места занимают файлы в проблемной директории.
du -sh /path/to/directory   


2⃣Поиск процессов, держащих удаленные файлы открытыми
Найдите процессы, которые держат открытыми удаленные файлы.
lsof | grep deleted   

COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF    NODE NAME
myprocess 1234 user 10r REG 8,1 12345678 567890 /path/to/deleted/file (deleted)


3⃣Завершение процессов
Найдите процесс, держащий файл открытым, по PID (идентификатор процесса) из вывода lsof. Завершите процесс, чтобы освободить место на диске.
kill -9 <PID>    

kill -9 1234     


4⃣Проверка освобожденного пространства
После завершения процесса, повторно проверьте использование дискового пространства.
df -h   


Убедитесь, что место в директории освободилось.
du -sh /path/to/directory   


🚩Примеры

Поиск удаленных файлов
lsof | grep deleted   


Завершение процесса
kill -9 <PID>   


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍192🤯1
🤔 Что такое inode?

Inode — это структура данных в файловых системах Unix, которая хранит информацию о файле, включая его метаданные (размер, права доступа, время изменения), но не сам контент файла или его имя. Каждый файл или директория имеет свой собственный inode, и доступ к содержимому файла осуществляется через указатели inode. Inode не хранит информацию о самих данных файла, только о его расположении на диске. Число inode ограничено при создании файловой системы, что может повлиять на её емкость.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20🔥6
🤔 Что за команда truncate?

Это команда в Linux, которая используется для изменения размера файла. С ее помощью можно как увеличивать, так и уменьшать размер файла. При уменьшении размера файла данные, находящиеся за новой границей, будут потеряны, а при увеличении — файл будет дополнен нулями.

🚩Возможности команды

🟠Создание новых файлов
Если указанный файл не существует, команда truncate создаст его с нулевым размером или с заданным размером.
🟠Уменьшение размера файлов
При уменьшении размера файла данные, находящиеся за новой границей, будут потеряны.
🟠Увеличение размера файлов
При увеличении размера файла он будет дополнен нулями до указанного размера.

Синтаксис команды truncate
truncate [OPTIONS] FILE...


🚩Параметры

🟠-s, --size=SIZE: Задает размер файла. Размер может быть указан в байтах или с использованием суффиксов (K, M, G, T, P, E, Z, Y).
🟠-r, --reference=RFILE: Задает размер файла на основе другого файла (RFILE).

🚩Создание файла с заданным размером

Создание файла размером 1 МБ
truncate -s 1M myfile   


Создание файла размером 512 байт
truncate -s 512 myfile   


🚩Увеличение размера существующего файла

Увеличение файла до 2 ГБ
truncate -s 2G myfile   


🚩Уменьшение размера существующего файла

Уменьшение файла до 100 КБ:
truncate -s 100K myfile  


🚩Установка размера файла на основе другого файла

Установка размера файла myfile на размер файла referencefile
truncate -r referencefile myfile   


🚩Практические примеры

Создаст пустой файл с именем emptyfile.
truncate -s 0 emptyfile


Увеличит размер файла logfile на 500 МБ.
truncate -s +500M logfile


Уменьшит размер файла largefile на 100 КБ.
truncate -s -100K largefile


Ставь 👍 и забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3
🤔 Что такое зомби процессы?

Зомби-процессы — это процессы, которые завершились, но их запись в таблице процессов остаётся, так как родительский процесс не обработал их код завершения. Они занимают минимальные системные ресурсы, но их наличие может указывать на проблемы в управлении процессами родительским процессом. Зомби-процессы можно устранить только завершением родительского процесса или с помощью сигналов. Наличие большого количества зомби-процессов может привести к исчерпанию доступных PID в системе.

Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚 Базу знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥7