В Linux стандартными средствами можно использовать часть оперативной памяти как диск. Для этого требуется указать тип монтирования tmpfs в команде mount
mount -t tmpfs -o size=5G tmpfs /mnt/ram
Теперь путь /mnt/ram можно использовать как обычный каталог. Для чего это может быть нужно?
▫️ Скорость работы с таким каталогом выше чем многие SSD и тем более HDD.
▫️ Если у вас очень быстрый SSD на NVMe M.2 то такой способ особо не прибавит вам скорости, но поможет сохранить ресурс SSD когда требуется обрабатывать очень много мелких файлов и оперативка позволяет выделить нужный объем.
▫️ Оперативка это энергозависимая память, поэтому выключении питания все файлы безвозвратно теряются. Такой "non persistent" каталог гарантирует удаление временных файлов.
Я написал небольшой скрипт для условного теста и сравнения скорости копирования файлов между SSD и RAM.
Вот мои результаты:
Single File Size: 30.0Gb
ssd > ssd: 0:00:12.850 / 2.3Gb/s
sdd > ram: 0:00:06.453 / 4.6Gb/s
ram > ram: 0:00:06.995 / 4.3Gb/s
ram > sdd: 0:00:06.217 / 4.8Gb/s
Dir size: 32.7Gb, File count: 11127
ssd > ssd: 0:00:15.063 / 2.2Gb/s
sdd > ram: 0:00:08.486 / 3.9Gb/s
ram > ram: 0:00:08.032 / 4.1Gb/s
ram > sdd: 0:00:07.026 / 4.7Gb/s
Скрипт для теста ↗️
На моём железе прирост скорости ~2x. Плюс экономия ресурса SSD.
В Windows такой фишки по умолчанию нет, но обязательно найдутся аналогичные решения
#linux#triks
• Нашел очень крутой ресурс с бесплатными лабораторными работами и туториалами для ИБ специалистов. Единственный минус - не вся информация переведена на русский язык. Никаких видео — только полностью интерактивные лаборатории, разработанные для более быстрого и эффективного обучения. Даже есть ИИ помощник, если возникнут трудности с выполнением заданий...
➡️https://labex.io/ru
• LEARNING PATH:
➡Learn Linux;
➡Learn DevOps;
➡Learn Cybersecurity;
➡Learn Database;
➡Learn Python;
➡Learn Docker;
➡Learn Java;
➡Learn Jenkins;
➡Learn Machine Learning;
➡Learn Kali Linux.
• PROJECTS & TUTORIALS:
➡All Interactive Tutorials;
➡Linux Projects;
➡Python Projects;
➡Java Projects;
➡Numpy Projects;
➡Linux Tutorial;
➡Docker Tutorial;
➡Cybersecurity tutorial;
➡Free Labs;
➡Linux Commands Cheat Sheet.
• PLAYGROUNDS:
➡Online Linux Terminal;
➡Online Docker Playground;
➡Online Python Playground;
➡Online Golang Playground;
➡Online C++ Playground;
➡Online Java Playground;
➡Online Rust Playground;
➡Online MySQL Playground;
➡Online Ansible Playground;
➡Online Jenkins Playground.
• LATEST TUTORIALS:
➡Python Itertools Combinations;
➡Docker Compose with Host Network;
➡Systemctl daemon-reload in Linux;
➡Match Patterns with Bash Regex;
➡DevOps Free Labs;
➡Find Key with Max Value in Python Dictionary;
➡Linux Free Labs;
➡Bash Function Return Values;
➡Area and Circumference of a Circle in C;
➡Cybersecurity Free Labs.
#Linux#DevOps#ИБ
• Весьма любопытный tui тренажёр для обучения основам работы в терминале. Содержит около 70 заданий, которые вам предстоит решить. Проходить увлекательно и полезно, так что рекомендую для самообразования и получения необходимого опыта.
➡️https://github.com/learnbyexample/TUI-apps
• Кстати, у автора есть ещё несколько tui программ, с помощью которых можно потренироваться в работе с awk, grep, sed и регулярками...
#CLI#Linux
• the art of command line - невероятно полезный гайд по использованию командной строки в Linux, к которому приложили руку множество авторов и переводчиков. Еще здесь есть разделы про Windows и macOS, а также универсальные советы, применимые для операционных систем на базе UNIX. Подходит как для новичков, так и для опытных специалистов. Гайд опубликован на разных языках, включая русский.
➡Описание;
➡Основы;
➡Ежедневное использование;
➡Процессинг файлов и информации;
➡Системный дебаггинг;
➡В одну строчку;
➡Сложно, но полезно;
➡MacOS only;
➡Windows only;
➡Больше информации по теме;
➡Дисклеймер.
➡️https://github.com/jlevy/the-art-of-command-line
#Linux#CLI
🪨Все по песочницам!
• Представьте, что вам нужно запустить некоторый процесс Linux в изолированной среде. Так, чтобы он не смог нанести вред системе, на которой запускается. Какие инструменты мы используем в таких случаях? Первое, что приходит в голову, это технологии виртуализации или контейнеризации. Но что, если нам нужно что-то более легковесное и простое в использовании? Bubblewrap — это утилита командной строки, которая является одним из проектов сообщества Containers (знаменито авторством таких инструментов, как Podman, Buildah, Skopeo и др.).
• Когда может быть полезен:
➡Невысокие требования к изоляции процесса и системы;
➡Недопустимы накладные расходы как у более сложных средств изоляции;
➡Тестирование (поведения) программы в разных условиях эксплуатации;
➡Запуск программ/скриптов/кода, полученных из ненадежных источников;
➡Лимитирование расхода ресурсов для отдельно взятого процесса;
➡Изменение структуры файловой системы для запускаемого процесса.
• Стоит сказать, что bubblewrap — это не то ПО, которое предоставляет готовую "песочницу" с определенной политикой безопасности. В некоторых вариантах использования bubblewrap требуется граница безопасности между изолированной средой и реальной системой; в других вариантах использования требуется возможность изменять расположение файловой системы для процессов внутри изолированной среды, но не ставится цель создания границы безопасности. В результате уровень защиты между изолированными процессами и хост-системой определяется аргументами, передаваемыми bubblewrap.
• Таким образом, используя аргументы командной строки, вы сами определяете уровень изоляции запускаемого процесса. При этом под капотом Bubblewrap использует стандартные средства Linux, которые не требуют повышения привилегий пользователя: chroot, clone, seccomp, cgroups, landlock.
• Основные плюсы:
➡Не требуются root-привилегии;
➡Изолирует работу только одного процесса;
➡Может использоваться для изоляции приложений с графическим UI;
➡Предоставляет большой спектр настроек лимитирования;
➡Простая установка и использование;
➡Низкие накладные расходы на изоляцию.
• Основной минус — это то, что ограничение на ресурсы системы устанавливаются только с использованием cgroup. Это значит, что для полноценной работы bwrap в Docker/Kubernetes-контейнере последний придется запустить в privileged-режиме!
➡️https://github.com/containers/bubblewrap
• Дополнительно:
• Firejail — гибкий и мощный инструмент изоляции, который не просто контролирует доступ к файловой системе, а полностью отрезает приложение от основной системы с помощью механизма Linux Namespaces. Подробнее тут: https://t.me/it_secur/1053
#Linux#Песочница
Linux Kernel Teaching. Laboratory
*
Большой и годный сборник лекций и лабораторных работ по ядру Linux. Лекции посвящены теоретическому исследованию ядра Linux.
Лабораторки сделаны в стиле инструкций.
Будет полезно: админам, драйверописателям и специальным разработчикам
*
Link
#linux#kernel
Bashtop, Linux resource monitor that shows usage and stats for processor, memory, disks, network and processes.
#tools#terminal#linux
@thedevs
https://kutt.it/OBxUjn