답변:
먼저 새 파티션을 준비하십시오 (예 : parted및 mkfs).
파티션이 / dev / sda5라고 가정하십시오.
새 파티션을 마운트하십시오.
mkdir /var2
mount /dev/sda5 /var2
현재 var를 동기화하십시오.
rsync -a /var/ /var2
/ etc / fstab에 항목 추가
/dev/sda5 /var ext4 defaults 2 2
재부팅하십시오.
이전 / var로 돌아 가야 할 경우 fstab에서 항목을 주석 처리하십시오.
/현재 시스템이 실행되는 동안 (다시 부팅 한 후) 다른 위치에 마운트 할 수 있습니다 . 그럼 당신은 /var당신이 원하는 경우 이전에 얻을 수 있습니다 삭제
blkid -o list -s UUID,하지만 난 당신이 sudo를 실행할 필요가 있다고 생각
고용주의 호스팅 회사가 제공 한 새로운 가상 서버를 인수했을 때 루트 파일 시스템에 충분한 여유 공간이 없었습니다. 운 좋게도 LVM (Logical Volume Manager) 을 사용하여 가상 디스크를 하위 분할했으며 새 볼륨을 생성 할 수있는 충분한 여유 공간이있었습니다. 나는이 또 다른 논리 볼륨을 생성 var하고 home있는 루트 파일 시스템에서 일반 디렉토리 있었다. 가상 서버 공급자는 단일 사용자 모드에서 서버에 액세스 할 수있는 KVM과 유사한 인터페이스를 제공하지 않았기 때문에 Aleksander에서 설명한 것과 매우 유사한 방법을 사용했습니다 (이 답변에는 디스크 공간 복구에 대한 추가 정보가 포함되어 있음) 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하는 라이브 CD에서 시작 설치된 시스템의 파티션을 마운트/하고rm -rf /var/*.