내 /usr
폴더를 새 파티션으로 이동해야합니다. 내용을 지우지 않고 어떻게 할 수 있습니까?
Ubuntu가 실행되는 동안이 작업을 수행 할 수 있습니까? 아니면 LiveCD를 사용해야합니까?
라이브 CD를 사용하는 것이 가장 안전하지만 다음을 수행 할 수 있습니다.
/usr
의 내용이 변경되지 않도록 모든 파일을 새 파티션에 복사하십시오./etc/fstab
이 (가) 마운트되도록 /usr
편집각 단계에 대한 자세한 내용은 아래를 참조하십시오.
/usr
에 열릴 파일이 많으므로 실행 중에 /usr
에 새 파티션을 마운트 할 수 없습니다.
cp -a
를 사용하겠습니다. -a
은 보관 옵션입니다. man page 에서 :
-a, --archive
same as -dR --preserve=all
...
-d same as --no-dereference --preserve=links
...
-P, --no-dereference
never follow symbolic links in SOURCE
...
--preserve[=ATTR_LIST]
preserve the specified attributes (default:
mode,ownership,timestamps), if possible additional attributes:
context, links, xattr, all
...
-R, -r, --recursive
copy directories recursively
새 파티션의 UUID를 알아야합니다. 다음을 수행하여 맵핑을 볼 수 있습니다.
$ ls -l /dev/disk/by-uuid/
그런 다음이 줄을 /etc/fstab
에 추가하십시오.
UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr ext4 defaults 0 2
UUID를 UUID로 변경하고 ext4
를 사용중인 파일 시스템 유형으로 변경하십시오. 파티션을 설정 한 경우이를 알아야합니다.
재부팅 후 루트 파티션의 /usr
에있는 이전 파일은 /usr
에 마운트 된 새 파티션에 의해 숨겨집니다. 그러나 일부 mount bind trickery 를 사용하여 이전 파일을 가져온 다음 삭제할 수 있습니다.
$ Sudo mount --bind / /mnt
$ Sudo rm -rf /mnt/usr/*
$ Sudo umount /mnt
그러나 약간의 오해 (예 : Sudo rm -rf /mnt
만 입력했을 때 Enter 키를 치면)가 재앙을 일으킬 수 있으므로 수행중인 작업에 대해 매우 확신이 있고 실제로 처리 할 수없는 경우에만이 방법을 사용합니다 다운 타임이거나 머신에 물리적으로 액세스 할 수 없어 라이브 CD 또는 라이브 USB 스틱을 부팅 할 수 없었습니다.
사용되는 대부분의 라이브러리는/usr에 있으므로 Ubuntu를 실행하는 동안이 디렉토리를 이동하지 않는 것이 좋습니다. 실제로이 작업을 시도 할 때 오류 메시지가 표시 될 수 있습니다. 따라서 LiveCD를 사용하는 것이 가장 좋습니다.
몇 가지 가능성을 사용하여 파일 cp, rsync 등을 이동/복사 할 수 있습니다. 심볼 링크가 만들어지고 복사되지 않도록하십시오. cp와 rsync에는이 옵션이 있습니다.
파일을 다른 파티션으로 옮긴 후/etc/fstab에 다른 마운트를 추가하여 새 파티션을/usr에 마운트해야합니다.
주의 : 내가하고있는 일을 모르겠습니다. 명령을 복사하고 다른 사람들이 제안한대로하고 있습니다. 이것은 잘못된 방법 일 수 있지만 적어도 지금은 작동합니다.
이것이 내가 한 방법입니다 (Hamish의 답변과 의견에 따름).
새로 생성 된 파티션의 모든 파일을 복사하십시오 (파티션의 위치로 바꾸십시오. 내 파일과 비슷해야합니다).
rsync -avz /usr /media/aleksandar/750b84e2-e65f-4309-ade5-5af0033a937c
이 시점에서 파티션의 /usr
폴더에 모든 것을 복사한다는 것을 깨달았습니다. 작동하지 않음 파티션의 루트로 이동 한 후 빈 폴더를 삭제했습니다.
/etc/fstab
편집 (물론, UUID로 바꾸는 Hamish의 답변과 동일)
UUID=634c31a5-e27c-4e33-ac67-2e22491a30c2 /usr ext4 defaults 0 2
현명하지 않은 단계 : 현재 마운트 된 /usr
파티션의 이름을 /usrBACKUP
로 변경했습니다. 시스템을 재부팅하면 실제로 재부팅됩니다. 이전 파티션이 아니라 새로 작성된 파티션 그 후 모든 것이 화면에 번쩍 들었고 전원 키를 길게 눌러 전원을 꺼야했습니다. (genius as i am). 시스템을 고장 나지 않으려면이 단계를 건너 뛰십시오.
시스템을 재부팅
다시 부팅 한 후 시스템 모니터 또는 이와 유사한 응용 프로그램을 열어 새 /usr
파티션이 마운트되었는지 확인하고 모든 것이 계획대로 진행되었는지 확인하십시오.
모든 것이 정상인지 확인한 후 이전 /usr
파티션을 삭제할 수 있습니다. 뭔가 잘못 될 경우를 대비하여 내 것을 유지하겠습니다.