Ответы:
Сначала подготовьте новый раздел (например, с помощью parted
и mkfs
).
Скажем, раздел - / dev / sda5
Смонтируйте новый раздел:
mkdir /var2
mount /dev/sda5 /var2
Синхронизируйте текущую переменную:
rsync -a /var/ /var2
Добавьте запись в / etc / fstab
/dev/sda5 /var ext4 defaults 2 2
Перезагрузка.
Если вам нужно вернуться к вашему старому / var, просто закомментируйте запись в fstab.
/
к какой-либо другой папке в текущей системе во время ее работы (но после перезагрузки). Тогда вы можете получить старое /var
и удалить его, если хотите
blkid -o list -s UUID
, но я думаю, что вам нужно запустить с sudo
Когда я завладел новым виртуальным сервером, который был предоставлен хостинговой компанией моего работодателя, в корневой файловой системе не было достаточно свободного места. К счастью, они использовали менеджер логических томов (LVM) для разделения виртуального диска, и было достаточно свободного места для создания новых томов. Я создал дополнительные логические тома для var
и home
которые были обычными каталогами в корневой файловой системе. Поскольку поставщик виртуальных серверов не предоставил KVM-подобный интерфейс, с помощью которого я мог получить доступ к серверу в однопользовательском режиме, я использовал метод, очень похожий на тот, который описал Александр (этот ответ включает в себя дополнительные сведения для восстановления дискового пространства в дополнение к LVM-специфическим командам).
Создайте логический том для новой var
файловой системы, смонтируйте его (используя временный каталог) и скопируйте файлы из текущей /var
в новую файловую систему:
# Create a new 60GB logical volume in the `VolGroup00` group called `var`.
sudo lvcreate -L 60GB -n var VolGroup00
# Create an ext4 filesystem on this new `var` volume.
sudo mkfs.ext4 /dev/VolGroup00/var
# Mount this filesystem at a temporary mount-point.
sudo mkdir /var.new
sudo mount /dev/VolGroup00/var /var.new
Поскольку запущенные процессы будут /var
держать файлы открытыми и используемыми, дерево каталогов не может быть просто перемещено в новую файловую систему. Рекурсивно ( -r
) копировать файлы из текущего /var
раздела в новую файловую систему, сохраняя атрибуты файлов и расширенные атрибуты ( -a, --archive
опция). Осторожный пользователь может сначала создать LVM-снимок текущего тома перед копированием, но это слишком много не по теме для этого вопроса.
sudo cp -ra /var/ /var.new/
Кроме того, файлы можно копировать rsync
с -a, --archive
возможностью сохранения -X, --xattrs
меток времени, владельца, режимов и т. Д., А также с возможностью сохранения расширенных атрибутов, таких как метки безопасности, используемые AppArmor и SELinux:
sudo rsync -raX /var/ /var.new/
Настройте новую файловую систему для использования в качестве новой точки монтирования /var
, добавив следующую строку в /etc/fstab
. Обратите внимание, что 0
используется в качестве номера прохода (последнее поле), чтобы файловая система не проверялась автоматически ( fsck
) после определенного количества перезагрузок.
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Поскольку переход в однопользовательский режим невозможен, перезагрузите компьютер, чтобы использовать этот новый том в качестве /var
.
После перезагрузки компьютера новая файловая система будет смонтирована, /var
чтобы можно было безопасно удалить временную точку монтирования:
sudo rmdir /var.new
Старые /var
файлы по-прежнему будут занимать место в корневом разделе, но их нелегко получить, пока смонтирована другая файловая система /var
(они «маскируются» новой файловой системой, используя /var
каталог в качестве точки монтирования). Используйте временную точку монтирования для монтирования корневой файловой системы, чтобы содержимое исходного /var
каталога было доступно по альтернативному пути.
sudo mkdir /old-root
sudo mount /dev/mapper/VolGroup00-root /old-root/
sudo rm -rf /old-root/var/*
sudo umount /old-root/
sudo rmdir /old-root/
lvcreate
и mkfs.ext4
не объясняя, что и почему используются. Может быть, вы можете просто сказать, что это для создания нового раздела, поскольку они не являются основной темой ответа.
/var
: начать с livecd, смонтировать раздел в установленной системе/
иrm -rf /var/*
.