#admin_FAQ
7 subscribers
31 links
Download Telegram
#Linux
#Дату в файл
echo [DOCS] - начало: $(date '+%Y-%m-%d %H:%M:%S')
#Linux
#tmp
#переместить /tmp

1. Введение
Каталог /tmp содержит временные файлы в Linux. Многие программы используют этот каталог для промежуточных данных. Однако, в зависимости от используемого дистрибутива, система может удалять временные файлы в определенное время. Кроме того, /tmp часто располагается на отдельном разделе.

В этом руководстве мы рассмотрим пошаговый процесс безопасного перемещения /tmp в другой раздел в Linux.

2. Каталог /tmp
Естественно, когда мы устанавливаем любую систему Linux, она создает каталог /tmp под корневым разделом /. Дистрибутивы Linux обрабатывают файлы в /tmp по-разному:

RHEL автоматически удаляет файлы старше n часов, как определено в /usr/lib/tmpfiles.d/tmp.conf
Ubuntu удаляет содержимое /tmp при каждой перезагрузке
Современные версии Linux, использующие виртуальную файловую систему, используют каталог /tmp только как точку монтирования для оперативной памяти с файловой системойtmpfs. Кроме того, разрешения по умолчанию для /tmp (1777 или rwxrwxrwt) разрешают всем пользователям читать и записывать в него. Таким образом, это удобное место для программ и процессов для хранения данных, не беспокоясь об ограничениях доступа.

Ознакомившись с ролью каталога /tmp, давайте посмотрим, как мы можем переместить его в другой раздел.

3. Перемещение каталога /tmp
Рекомендуется создавать новый раздел при перемещении каталога /tmp. Это устраняет риск потери важных данных в уже существующем каталоге.

Теперь процедура перемещения каталога /tmp в другое место на диске начинается с создания этого нового раздела. Затем мы форматируем его с помощью файловой системы и монтируем.

3.1. Создайте новый раздел
Примечательно, что мы можем создать новый раздел с помощью утилиты fdisk. Также мы можем использовать более новый и, возможно, лучше оснащенный инструмент parted. В качестве альтернативы, в системе LVM, мы можем создать новый логический том с помощью утилиты lvm2.

В любом случае, существует множество факторов для разбиения на разделы для нового /tmp:

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

Теперь давайте перейдем к содержимому нашего текущего каталога /tmp.

3.2. Создайте резервную копию каталога /tmp
Прежде чем мы переместим /tmp в новый раздел, нам необходимо создать резервную копию его содержимого в другом месте:

$ sudo mkdir /tmp_bak
Копировать
После создания отдельного каталога давайте создадим там резервную копию с помощью утилиты rsync:

$ rsync -avz /tmp/ /tmp_bak
sending incremental file list
./
.X0-lock
.X1-lock
.X1024-lock
...
.font-unix/
snap-private-tmp/
snap-private-tmp/snap.snapd-desktop-integration/
...
snap-private-tmp/snap.snapd-desktop-integration/tmp/.snap/usr/lib/
systemd-private-985cf150d5724ca98540c0e0facf2926-upower.service-lq4VZY/tmp/
tracker-extract-3-files.1000/
tracker-extract-3-files.127/

sent 2,820 bytes received 269 bytes 6,178.00 bytes/sec
total size is 44 speedup is 0.01
Копировать
Чтобы понять, эта команда рекурсивно переносит все файлы из /tmp в /tmp_bak. Кроме того, файлы перемещаются в режиме архива, который сохраняет большинство свойств во время передачи:

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

4. Удаление старой записи /tmp
Теперь, когда мы создали резервную копию /tmp, давайте переместим его в новый раздел. Сначала размонтируем и удалим любой существующий каталог /tmp:
#linux
#smb
#samba
#применение конфигурации smb.service без перезапуска службы
smbcontrol smbd reload-config
#linux
#Удалить все, кроме 5 (или любого другого количества) последних файлов в каталоге.

rm `ls -t | awk 'NR>5'`


#Удалить все, кроме 5 (или любого другого количества) последних каталогов в каталоге.
rm -rf /mnt/data/backup_old/test/`ls /mnt/data/backup_old/test/ -t | awk 'NR>1'`
#Linux
#Уменьшить размер диска
#Уменьшить файловую систему внутри диска
#pve
#proxmox
e2fsck -f /dev/sda1
resize2fs /dev/sda1 50G
qemu-img resize --shrink rbd:ceph_datastore/vm-207-disk-0 50G
qm rescan