Respuestas:
Primero prepare una nueva partición (por ejemplo, con parted
y mkfs
).
Digamos que la partición es / dev / sda5
Montar la nueva partición:
mkdir /var2
mount /dev/sda5 /var2
Sincroniza tu var actual:
rsync -a /var/ /var2
Agregue la entrada a / etc / fstab
/dev/sda5 /var ext4 defaults 2 2
Reiniciar.
Si necesita volver a su antiguo / var, simplemente comente la entrada en fstab.
/
en otra ubicación del sistema actual mientras se está ejecutando (pero después de reiniciar). Luego puede acceder a la /var
blkid -o list -s UUID
Cuando me hice cargo de un nuevo servidor virtual que había sido aprovisionado por la empresa de alojamiento de mi empleador, no había suficiente espacio libre en el sistema de archivos raíz. Afortunadamente, habían usado Logical Volume Manager (LVM) para subdividir el disco virtual y había suficiente espacio libre disponible para crear nuevos volúmenes. Creé volúmenes lógicos adicionales para var
y home
que habían sido directorios regulares en el sistema de archivos raíz. Como el proveedor del servidor virtual no proporcionó una interfaz similar a KVM por la cual podía acceder al servidor en modo de usuario único, utilicé un método muy similar al descrito por Aleksander (esta respuesta incluye detalles adicionales para recuperar espacio en disco en Además de los comandos específicos de LVM).
Cree un volumen lógico para el nuevo var
sistema de archivos, móntelo (usando un directorio temporal) y copie los archivos del sistema de archivos actual /var
al nuevo:
# 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
Dado que los procesos en ejecución tendrán los archivos /var
abiertos y en uso, el árbol de directorios no se puede mover simplemente al nuevo sistema de archivos. Recursivamente ( -r
) copie archivos de la /var
partición actual al nuevo sistema de archivos mientras conserva los atributos del archivo y los atributos extendidos ( -a, --archive
opción). Un usuario cauteloso podría crear primero una instantánea LVM del volumen actual antes de copiar, pero eso es demasiado detalle fuera del tema para esta pregunta.
sudo cp -ra /var/ /var.new/
Alternativamente, los archivos se pueden copiar rsync
, con su -a, --archive
opción de preservar -X, --xattrs
marcas de tiempo, propiedad, modos, etc. y su opción de preservar los atributos extendidos, como las etiquetas de seguridad utilizadas por AppArmor y SELinux:
sudo rsync -raX /var/ /var.new/
Configure el nuevo sistema de archivos que se utilizará como un nuevo punto de montaje para /var
agregar la siguiente línea a /etc/fstab
. Tenga en cuenta que 0
se utiliza como número de pase (último campo) para que el sistema de archivos no se verifique automáticamente ( fsck
) después de un cierto número de reinicios.
/dev/mapper/VolGroup00-var /var ext4 defaults 0 0
Como no es posible cambiar al modo de usuario único, reinicie la computadora para usar este nuevo volumen como /var
.
Después de reiniciar la máquina, se montará el nuevo sistema de archivos /var
para que el punto de montaje temporal se pueda quitar de forma segura:
sudo rmdir /var.new
Los /var
archivos antiguos seguirán ocupando espacio en la partición raíz, pero no son fácilmente accesibles mientras otro sistema de archivos está montado /var
(el nuevo sistema de archivos los "enmascara" usando el /var
directorio como punto de montaje). Use un punto de montaje temporal para montar el sistema de archivos raíz de modo que el contenido del /var
directorio original esté disponible por una ruta alternativa.
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
y mkfs.ext4
sin explicar qué se usan o por qué. Tal vez simplemente pueda decir que es para hacer la nueva partición, ya que no son el tema principal de la respuesta.
/var
: comience desde un livecd, monte la partición en el sistema instalado/
yrm -rf /var/*
.