Утилиты на PowerShell для системных администраторов
Работая на первой линии тех.поддержки, я часто сталкивался с рутиной, особенно очень хотелось минимизировать подключение к рабочему столу пользователей для сбора информации и как-то автоматизировать этот процесс, что привело меня к осваиванию языка PowerShell и написанию скриптов, которые в последствии оформились в самостоятельные программы. Некоторые из них я решил выложить на GitHub, возможно для кого-то они будут полезны.
https://habr.com/ru/articles/799463/
https://github.com/Sync1er/ChernigovEugeniyUtilities
Работая на первой линии тех.поддержки, я часто сталкивался с рутиной, особенно очень хотелось минимизировать подключение к рабочему столу пользователей для сбора информации и как-то автоматизировать этот процесс, что привело меня к осваиванию языка PowerShell и написанию скриптов, которые в последствии оформились в самостоятельные программы. Некоторые из них я решил выложить на GitHub, возможно для кого-то они будут полезны.
https://habr.com/ru/articles/799463/
https://github.com/Sync1er/ChernigovEugeniyUtilities
❤7
ArcherySec — open-source инструмент, который позволяет проводить сканирование инфраструктуры
ArcherySec интегрируется с 80+ коммерческими и открытыми инструментами и имеет удобный ArcherySec CLI — локально развертываемый инструмент командной строки, предназначенный для запуска на любом хосте Linux.
https://github.com/archerysec/archerysec
export TIME_ZONE='Asia/Kolkata'
git clone https://github.com/archerysec/archerysec.git
cd archerysec
NAME=User [email protected] PASSWORD=admin@123A bash setup.sh
./run.sh
ArcherySec интегрируется с 80+ коммерческими и открытыми инструментами и имеет удобный ArcherySec CLI — локально развертываемый инструмент командной строки, предназначенный для запуска на любом хосте Linux.
https://github.com/archerysec/archerysec
❤2
Установка Microsoft Office 2024 на Mac или обновление до последнего, поддерживаемого версией MacOS
Недавно я описал простой процесс загрузки последнего Microsoft Office с сайта Microsoft и его активации для Windows 10/11. До этого рассказывал более технические детали, оказавшимися читателям интересными, но сложноватыми. Один из вопросов, регулярно задаваемых в комментариях, был про Microsoft Office для Mac. Сейчас я расскажу, как иметь последнюю версию и не думать про активацию, поговорим о том, что делать тем, у кого давно установлена версия 2016, 2019 или 2021, следует ли думать про 2024 и как обновляться. Также в конце статьи расскажу о способе решения проблем с Microsoft Office, позволяющем чинить неработающую инсталляцию. Данная статья не техническая, в ней много картинок и рассуждений о том, когда, что и как устанавливать. Не пропагандирую ни решения Microsoft Office, ни его пиратства, просто рассказываю, как установить его при желании, без всяких торрентов.
Итак, для начала о версиях Microsoft Office для Mac. Исторически версии для Mac выходили на год позднее версий для Windows и несли в своем названии год выпуска, отличный от того, что у Windows версии. Например, Office 2004 для Mac (версия 11.0) вышел в мае 2004, на год позднее чем Office 2003 для Windows (тоже версия 11.0), вышедший в октябре 2003. Office 2008 для Mac (версия 12.0) вышла через год после Office 2007; Office 2011 для Mac (версия 14.0) через полгода после Office 2010. Далее для Windows Microsoft переключился на Click2Run технологию, и версии для Mac стали выходить практически одновременно и нести то же имя, что версии для Windows. Начиная с Office 2016 внутренняя версия продукта замерла на 16.x и на Windows и на Mac, продукт обновлялся, получал новые возможности и исправления, и в зависимости от купленной вами лицензии вы получали тот или иной набор возможностей.
https://habr.com/ru/companies/timeweb/articles/840166/
Недавно я описал простой процесс загрузки последнего Microsoft Office с сайта Microsoft и его активации для Windows 10/11. До этого рассказывал более технические детали, оказавшимися читателям интересными, но сложноватыми. Один из вопросов, регулярно задаваемых в комментариях, был про Microsoft Office для Mac. Сейчас я расскажу, как иметь последнюю версию и не думать про активацию, поговорим о том, что делать тем, у кого давно установлена версия 2016, 2019 или 2021, следует ли думать про 2024 и как обновляться. Также в конце статьи расскажу о способе решения проблем с Microsoft Office, позволяющем чинить неработающую инсталляцию. Данная статья не техническая, в ней много картинок и рассуждений о том, когда, что и как устанавливать. Не пропагандирую ни решения Microsoft Office, ни его пиратства, просто рассказываю, как установить его при желании, без всяких торрентов.
Итак, для начала о версиях Microsoft Office для Mac. Исторически версии для Mac выходили на год позднее версий для Windows и несли в своем названии год выпуска, отличный от того, что у Windows версии. Например, Office 2004 для Mac (версия 11.0) вышел в мае 2004, на год позднее чем Office 2003 для Windows (тоже версия 11.0), вышедший в октябре 2003. Office 2008 для Mac (версия 12.0) вышла через год после Office 2007; Office 2011 для Mac (версия 14.0) через полгода после Office 2010. Далее для Windows Microsoft переключился на Click2Run технологию, и версии для Mac стали выходить практически одновременно и нести то же имя, что версии для Windows. Начиная с Office 2016 внутренняя версия продукта замерла на 16.x и на Windows и на Mac, продукт обновлялся, получал новые возможности и исправления, и в зависимости от купленной вами лицензии вы получали тот или иной набор возможностей.
https://habr.com/ru/companies/timeweb/articles/840166/
👍4❤2
Шпаргалка по PowerShell
Основные команды
-
-
-
-
-
-
Навигация по файловой системе
-
-
-
-
Работа с файлами и папками
-
-
-
-
Работа с текстом и выводом
-
-
-
-
-
-
Переменные
-
-
-
Условия и циклы
-
-
-
Работа с процессами и службами
-
-
-
-
Фильтрация и сортировка
-
-
Примеры:
1. Получение списка файлов:
2. Копирование файла:
3. Вывод чисел от 1 до 10:
4. Фильтрация процессов по имени:
Основные команды
-
Get-Help <команда>
– получить справку по команде-
Get-Command
– список доступных команд-
Get-Command -Module <модуль>
– команды из конкретного модуля-
Get-Alias
– список псевдонимов команд-
Get-Process
– список запущенных процессов-
Get-Service
– список службНавигация по файловой системе
-
Get-Location
– текущий путь-
Set-Location <путь>
– перейти к каталогу-
Get-ChildItem
или ls
– просмотр содержимого каталога-
New-Item -Path <путь> -Name <имя> -ItemType <тип>
– создать файл или папкуРабота с файлами и папками
-
Copy-Item -Path <источник> -Destination <назначение>
– копировать файл/папку-
Move-Item -Path <источник> -Destination <назначение>
– переместить файл/папку-
Remove-Item -Path <путь>
– удалить файл/папку-
Rename-Item -Path <путь> -NewName <новое имя>
– переименовать файл/папкуРабота с текстом и выводом
-
Write-Output "текст"
– вывод текста-
Write-Host "текст"
– вывод текста на экран-
Read-Host -Prompt "вопрос"
– ввод данных от пользователя-
Get-Content <файл>
– чтение содержимого файла-
Set-Content <файл>
– запись в файл-
Add-Content <файл>
– добавление текста в файлПеременные
-
$<имя_переменной> = значение
– создание переменной-
$var += значение
– добавление к значению переменной-
$null
– пустое значениеУсловия и циклы
-
if (<условие>) { <действие> }
– условие if-
foreach ($item in $array) { <действие> }
– цикл foreach
-
while (<условие>) { <действие> }
– цикл while
Работа с процессами и службами
-
Start-Process <программа>
– запуск программы-
Stop-Process -Name <имя>
– завершение процесса-
Start-Service <служба>
– запуск службы-
Stop-Service <служба>
– остановка службыФильтрация и сортировка
-
Where-Object { <условие> }
– фильтрация объектов-
Sort-Object <свойство>
– сортировка объектовПримеры:
1. Получение списка файлов:
Get-ChildItem -Path "C:\папка"
2. Копирование файла:
Copy-Item -Path "C:\путь\файл.txt" -Destination "D:\копия\файл.txt"
3. Вывод чисел от 1 до 10:
for ($i = 1; $i -le 10; $i++) { Write-Output $i }
4. Фильтрация процессов по имени:
Get-Process | Where-Object { $_.Name -eq "notepad" }
❤4
💡Советы по написанию и отладке Bash скриптов
Комментарии
Используйте комментарии для объяснения кода. Это поможет вам и другим разработчикам понять, что делает скрипт. Комментарии начинаются с символа
Отладка
Для отладки скриптов используйте опцию
Логирование
Записывайте важные события и ошибки в лог-файлы для последующего анализа. Это помогает отслеживать работу скрипта и выявлять проблемы.
Обработка ошибок
Используйте команды
Использование функций
Разделяйте код на функции для улучшения читаемости и повторного использования. Функции позволяют структурировать код и делать его более понятным.
Комментарии
Используйте комментарии для объяснения кода. Это поможет вам и другим разработчикам понять, что делает скрипт. Комментарии начинаются с символа
#
.
#!/bin/bash
# This script prints the current date and time
echo "Current date and time: $(date)"
Отладка
Для отладки скриптов используйте опцию
-x
, которая выводит каждую команду перед ее выполнением. Это помогает понять, что происходит в скрипте и найти ошибки.
#!/bin/bash -x
echo "Debugging mode enabled"
Логирование
Записывайте важные события и ошибки в лог-файлы для последующего анализа. Это помогает отслеживать работу скрипта и выявлять проблемы.
#!/bin/bash
LOG_FILE="/path/to/logfile.log"
echo "Script started at $(date)" >> "$LOG_FILE"
Обработка ошибок
Используйте команды
set -e
и trap
для обработки ошибок. Команда set -e
завершает выполнение скрипта при ошибке, а команда trap
позволяет выполнять команды при возникновении определенных событий.
#!/bin/bash
set -e
trap 'echo "An error occurred. Exiting..."' ERR
echo "Starting script..."
# Your script commands here
Использование функций
Разделяйте код на функции для улучшения читаемости и повторного использования. Функции позволяют структурировать код и делать его более понятным.
#!/bin/bash
function greet {
local name=$1
echo "Hello, $name!"
}
greet "John"
👍4❤2
Шпаргалка по RAID
Информация о RAID
Сборка RAID
при получении ответа mdadm: Unrecognised md component device - /dev/sdb значит, что диск не использовался для RAID, продолжаем
* где /dev/md0 — устройство RAID, которое появится после сборки; -l 1 — уровень
Создание файловой системы и монтирование массива
Восстановление RAID
Замена жесткого диска
При выходе из строя, команда mdadm -D /dev/md0 выдаст: State : clean, degraded
Статус должен стать Rebuild Status : 40% complete и так до полного восстановления
Пересборка массива
Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:
Запасной диск (Hot Spare)
Если в массиве будет запасной диск для горячей замены, при выходе из строя одного из основных дисков, его место займет запасной.
Добавить диск к массиву, расширить массив
Добавление активного диска к RAID, который будет использоваться для работы, а не в качестве запасного.
* в данном примере подразумевается, что у нас RAID 1 и мы добавили к нему 3-й диск.
Установка mdadm
Если каким-то образом в дистрибутиве нет этого пакета
Удаление массива
Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:
* где /mnt — каталог монтирования нашего RAID.
Затем очищаем суперблоки на всех дисках, из которых он был собран:
mdadm
— утилита для работы с программными RAID-массивами различных уровней. В данной инструкции рассмотрим примеры ее использования.Информация о RAID
cat /proc/mdstat
- состояние всех RAIDmdadm -D /dev/md0
- подробная инфа о конкретном RAIDlsblk
- список дисков с разделами, местом, типомdf -hT
- свободное место, тип файловой системы, точки монтированияСборка RAID
mdadm --zero-superblock --force /dev/sd{b,c}
- обнуление суперблоков на дисках sdb sdc (для удаления инфы о других RAID)при получении ответа mdadm: Unrecognised md component device - /dev/sdb значит, что диск не использовался для RAID, продолжаем
mdadm --create --verbose /dev/md0 -l 1 -n 2 /dev/sd{b,c}
* где /dev/md0 — устройство RAID, которое появится после сборки; -l 1 — уровень
RAID; -n 2
— количество дисков, из которых собирается массив; /dev/sd{b,c} — сборка выполняется из дисков sdb и sdc.Создание файловой системы и монтирование массива
mkfs.ext4 /dev/md0
- создание файловой системы ext4 на md0mount /dev/md0 /mnt
- разово примонтировать md0 к /mntnano /etc/fstab
, прописать /dev/md0 /mnt ext4 defaults 1 2
- постоянное монтирование, работает после перезагрузкиВосстановление RAID
Замена жесткого диска
При выходе из строя, команда mdadm -D /dev/md0 выдаст: State : clean, degraded
mdadm /dev/md0 --remove /dev/sdc
- удалить сбойный дискmdadm /dev/md0 --add /dev/sde
- добавить новый диск в массивСтатус должен стать Rebuild Status : 40% complete и так до полного восстановления
Пересборка массива
Если нам нужно вернуть ранее разобранный или развалившийся массив из дисков, которые уже входили в состав RAID, вводим:
mdadm --assemble --scan
- команда сама найдет необходимую конфигурацию и восстановит RAID.mdadm --assemble /dev/md0 /dev/sdb /dev/sdc
- с указанием из каких дисков пересобратьЗапасной диск (Hot Spare)
Если в массиве будет запасной диск для горячей замены, при выходе из строя одного из основных дисков, его место займет запасной.
mdadm /dev/md0 --add /dev/sdd
- Диском Hot Spare станет тот, который просто будет добавлен к массивуДобавить диск к массиву, расширить массив
Добавление активного диска к RAID, который будет использоваться для работы, а не в качестве запасного.
mdadm /dev/md0 --add /dev/sde
mdadm -G /dev/md0 --raid-devices=3
- расширяем RAID* в данном примере подразумевается, что у нас RAID 1 и мы добавили к нему 3-й диск.
Установка mdadm
Если каким-то образом в дистрибутиве нет этого пакета
apt-get install mdadm
Удаление массива
Если нам нужно полностью разобрать RAID, сначала размонтируем и остановим его:
umount /mnt
* где /mnt — каталог монтирования нашего RAID.
mdadm -S /dev/md0
Затем очищаем суперблоки на всех дисках, из которых он был собран:
mdadm --zero-superblock /dev/sdb
mdadm --zero-superblock /dev/sdc
mdadm --zero-superblock /dev/sdd
👍4
Утилита для бэкапов Borgbackup
Дедуплицирующий архиватор с сжатием и защищенным шифрованием.
BorgBackup дает вам:
Экономия места при хранении резервных копий.
Безопасное, аутентифицированное шифрование.
Сжатие: lz4, zstd, zlib, lzma или без него.
Возможность монтирования резервных копий с помощью FUSE.
Простая установка на различных платформах: Linux, macOS, BSD, ...
Свободное программное обеспечение (лицензия BSD).
Поддерживается большим и активным сообществом разработчиков с открытым исходным кодом.
GitHub https://github.com/borgbackup/borg
Demo https://www.borgbackup.org/demo.html
Дедуплицирующий архиватор с сжатием и защищенным шифрованием.
BorgBackup дает вам:
Экономия места при хранении резервных копий.
Безопасное, аутентифицированное шифрование.
Сжатие: lz4, zstd, zlib, lzma или без него.
Возможность монтирования резервных копий с помощью FUSE.
Простая установка на различных платформах: Linux, macOS, BSD, ...
Свободное программное обеспечение (лицензия BSD).
Поддерживается большим и активным сообществом разработчиков с открытым исходным кодом.
GitHub https://github.com/borgbackup/borg
Demo https://www.borgbackup.org/demo.html
👍3❤1
TCP vs UDP
Приведу 7 отличий, которые было бы неплохо знать.
Существует два способа установить соединение перед отправкой данных с одного устройства на другое: с установлением соединения (connection-oriented) и без установления соединения (connectionless). В первом случае создается сквозное соединение между отправителем и получателем перед передачей данных с сохранением порядка передачи пакетов. Во втором случае пакеты передаются между отправителем и получателем без создания какого-либо соединения. Пакеты проходят по разным маршрутам от отправителя к получателю, этот способ ненадежен и не гарантирует доставку пакетов.
https://habr.com/ru/articles/732794/
Приведу 7 отличий, которые было бы неплохо знать.
Существует два способа установить соединение перед отправкой данных с одного устройства на другое: с установлением соединения (connection-oriented) и без установления соединения (connectionless). В первом случае создается сквозное соединение между отправителем и получателем перед передачей данных с сохранением порядка передачи пакетов. Во втором случае пакеты передаются между отправителем и получателем без создания какого-либо соединения. Пакеты проходят по разным маршрутам от отправителя к получателю, этот способ ненадежен и не гарантирует доставку пакетов.
https://habr.com/ru/articles/732794/
👍4❤2
Как удалить файл с именем -rf?
Удаление файла с именем
1. Использовать путь к файлу
Укажите полный или относительный путь к файлу, используя
Это укажет командной строке, что
2. Использовать параметр `--`
Параметр
Оба этих метода помогут удалить файл с именем
Удаление файла с именем
-rf
в UNIX/Linux может быть немного сложным, потому что -rf
может быть воспринято как опция команды rm
. Чтобы удалить файл с таким именем, можно использовать один из следующих способов:1. Использовать путь к файлу
Укажите полный или относительный путь к файлу, используя
./
перед именем файла:
rm ./-rf
Это укажет командной строке, что
-rf
— это имя файла, а не параметр.2. Использовать параметр `--`
Параметр
--
сообщает команде rm
, что все последующие аргументы следует трактовать как имена файлов, даже если они начинаются с -
.
rm -- -rf
Оба этих метода помогут удалить файл с именем
-rf
безопасно.❤2🔥2
📌 Мониторинг нагрузки на CPU в реальном времени
Часто нужно быстро проверить загрузку процессора на сервере, не прибегая к сложным инструментам. Вот простой скрипт на Bash, который поможет отслеживать нагрузку на CPU в реальном времени с обновлением каждые 2 секунды!
Как работает?
- Использует команду
- Вычисляет процент загруженности, вычитая idle-процент из 100.
- Выводит результат в удобочитаемом формате.
- Обновляется каждые 2 секунды.
Как запустить?
1️⃣ Установите пакет
2️⃣ Сделайте скрипт исполняемым:
3️⃣ Запустите:
Часто нужно быстро проверить загрузку процессора на сервере, не прибегая к сложным инструментам. Вот простой скрипт на Bash, который поможет отслеживать нагрузку на CPU в реальном времени с обновлением каждые 2 секунды!
#!/bin/bash
echo "Мониторинг загрузки CPU (нажмите Ctrl+C для выхода)"
while true; do
echo -n "CPU: "
mpstat 1 1 | awk '/Average:/ {printf "%.2f%%\n", 100 - $NF}'
sleep 2
done
Как работает?
- Использует команду
mpstat
для получения загрузки процессора. - Вычисляет процент загруженности, вычитая idle-процент из 100.
- Выводит результат в удобочитаемом формате.
- Обновляется каждые 2 секунды.
Как запустить?
1️⃣ Установите пакет
sysstat
, если его нет:
sudo apt install sysstat # Для Debian/Ubuntu
sudo yum install sysstat # Для CentOS/RHEL
2️⃣ Сделайте скрипт исполняемым:
chmod +x cpu_monitor.sh
3️⃣ Запустите:
./cpu_monitor.sh
❤3
Шпаргалка по управлению пользователями и группами в Linux
1. Добавление пользователя (useradd):
- Создание нового пользователя:
- Создание пользователя с домашним каталогом:
2. Установка и изменение пароля (passwd):
- Установка пароля для пользователя:
- Смена пароля текущего пользователя:
3. Управление привилегиями (sudo):
- Добавление пользователя в sudoers для получения привилегий администратора:
- Открытие файла конфигурации sudoers для редактирования:
4. Управление группами (groups):
- Создание новой группы:
- Добавление пользователя в группу:
- Удаление пользователя из группы:
- Список групп, к которым принадлежит пользователь:
1. Добавление пользователя (useradd):
- Создание нового пользователя:
sudo useradd username
- Создание пользователя с домашним каталогом:
sudo useradd -m username
2. Установка и изменение пароля (passwd):
- Установка пароля для пользователя:
sudo passwd username
- Смена пароля текущего пользователя:
passwd
3. Управление привилегиями (sudo):
- Добавление пользователя в sudoers для получения привилегий администратора:
sudo usermod -aG sudo username
- Открытие файла конфигурации sudoers для редактирования:
sudo visudo
4. Управление группами (groups):
- Создание новой группы:
sudo groupadd groupname
- Добавление пользователя в группу:
sudo usermod -aG groupname username
- Удаление пользователя из группы:
sudo gpasswd -d username groupname
- Список групп, к которым принадлежит пользователь:
groups username
👍6❤3
Код для облака: Освоение DevOps с помощью Python, Terraform и Kubernetes на AWS
Как инженер DevOps, я обычно связан с конвейерами, автоматизацией и облачными сервисами. Однако мне всегда было интересно узнать о другой стороне технологического мира - разработке приложений. Поэтому я подумал, почему бы не разнообразить мир? Так я пришел к созданию финансового приложения на Python, дополненного REST API.
В этом блоге я рассказываю о разработке и развертывании моего финансового приложения с нуля, от кода начального приложения до его развертывания на AWS с помощью Docker, Kubernetes (EKS), Terraform и Ansible. И знаете что? Я автоматизировал весь процесс - каждый его кусочек!
https://medium.com/@sophnel/coding-to-cloud-mastering-devops-with-python-terraform-and-kubernetes-on-aws-6251a910511f
Как инженер DevOps, я обычно связан с конвейерами, автоматизацией и облачными сервисами. Однако мне всегда было интересно узнать о другой стороне технологического мира - разработке приложений. Поэтому я подумал, почему бы не разнообразить мир? Так я пришел к созданию финансового приложения на Python, дополненного REST API.
В этом блоге я рассказываю о разработке и развертывании моего финансового приложения с нуля, от кода начального приложения до его развертывания на AWS с помощью Docker, Kubernetes (EKS), Terraform и Ansible. И знаете что? Я автоматизировал весь процесс - каждый его кусочек!
https://medium.com/@sophnel/coding-to-cloud-mastering-devops-with-python-terraform-and-kubernetes-on-aws-6251a910511f
👍3❤2
📌 Как увеличить размер каталога
Привет, коллеги! Сегодня поговорим об увеличении каталога tmp.
Каталог
🔍 Проверка текущего размера
Чтобы узнать, как
или
Если
▪️Вариант 1: Увеличение tmpfs (в RAM)
Если
Где
Это временное изменение! После перезагрузки сбросится.
Чтобы сделать его постоянным, добавляем строку в
Затем применяем изменения:
▪️Вариант 2: Использование раздела на диске
Если нужно хранить данные на диске, можно создать отдельный раздел.
1️⃣ Выбираем диск и создаем раздел (например,
2️⃣ Монтируем его:
3️⃣ Делаем постоянным, добавив в
▪️Вариант 3: Использование файла-контейнера
Если новый раздел не вариант, можно создать файл и смонтировать его как
1️⃣ Создаем файл (например, 4ГБ):
2️⃣ Форматируем его:
3️⃣ Монтируем его в
4️⃣ Добавляем в
Итог :
✔ Быстрое изменение (RAM) –
✔ Постоянное изменение (RAM) – правка
✔ Использование диска – монтирование отдельного раздела
✔ Файл-контейнер – если раздел недоступен
/tmp/
в Linux Привет, коллеги! Сегодня поговорим об увеличении каталога tmp.
Каталог
/tmp/
используется для временных файлов и обычно располагается в RAM (tmpfs) или на диске. Если /tmp/
переполняется, это может вызвать сбои в работе системы. Давайте разберем, как его увеличить. 🔍 Проверка текущего размера
/tmp/
Чтобы узнать, как
/tmp/
смонтирован и его размер, используем:
df -h /tmp
или
mount | grep /tmp
Если
/tmp/
использует tmpfs
, то он находится в оперативной памяти. ▪️Вариант 1: Увеличение tmpfs (в RAM)
Если
/tmp/
смонтирован как tmpfs
, можно увеличить его размер командой:
mount -o remount,size=4G /tmp
Где
4G
— новый размер. Проверяем:
df -h /tmp
Это временное изменение! После перезагрузки сбросится.
Чтобы сделать его постоянным, добавляем строку в
/etc/fstab
:
tmpfs /tmp tmpfs defaults,size=4G 0 0
Затем применяем изменения:
mount -o remount /tmp
▪️Вариант 2: Использование раздела на диске
Если нужно хранить данные на диске, можно создать отдельный раздел.
1️⃣ Выбираем диск и создаем раздел (например,
/dev/sdb1
):
mkfs.ext4 /dev/sdb1
2️⃣ Монтируем его:
mount /dev/sdb1 /tmp
3️⃣ Делаем постоянным, добавив в
/etc/fstab
:
/dev/sdb1 /tmp ext4 defaults 0 0
▪️Вариант 3: Использование файла-контейнера
Если новый раздел не вариант, можно создать файл и смонтировать его как
/tmp/
:1️⃣ Создаем файл (например, 4ГБ):
dd if=/dev/zero of=/swapfile bs=1M count=4096
2️⃣ Форматируем его:
mkfs.ext4 /swapfile
3️⃣ Монтируем его в
/tmp/
:
mount /swapfile /tmp
4️⃣ Добавляем в
/etc/fstab
:
/swapfile /tmp ext4 defaults 0 0
Итог :
✔ Быстрое изменение (RAM) –
mount -o remount,size=4G /tmp
✔ Постоянное изменение (RAM) – правка
/etc/fstab
✔ Использование диска – монтирование отдельного раздела
✔ Файл-контейнер – если раздел недоступен
❤2
📌 Как скопировать структуру директорий в Linux
В этой статье мы расскажем как в две команды скопировать структуру директорий без файлов через командрую строку Linux.
Сначала необходимо перейти в директорию, где находятся нужная структура
Затем выполняем команду, которая находит директории и сохраняет пути к ни в файл
Теперь необходимо перенести этот файл в директорию, где мы хотим воссоздать структуру
Переходим туда
И используя xargs читаем из файла пути и создаем по ним структуру директорий
В этой статье мы расскажем как в две команды скопировать структуру директорий без файлов через командрую строку Linux.
Сначала необходимо перейти в директорию, где находятся нужная структура
# cd /dir1
Затем выполняем команду, которая находит директории и сохраняет пути к ни в файл
# find . -type d > dirs.txt
Теперь необходимо перенести этот файл в директорию, где мы хотим воссоздать структуру
# mv ./dirs.txt /dir2
Переходим туда
# cd /dir2
И используя xargs читаем из файла пути и создаем по ним структуру директорий
# xargs mkdir -p < dirs.txt
❤2