/home 대신에 /usr 디렉토리를 다른 파티션에 둘 수 있는 방법이 없나요?

13.04 이고요…

설치 초기에 /home 디렉토리를 다른 파티션에 두는 것으로 선택을 하고 모든 설치를 마쳤는데 가만히 보니까 /home 보다도 /usr 디렉토리가 훨씬 더 많은 용량을 차지하더군요.

그래서 /home 대신 /usr 디렉토리를 다른 파티션에 두려고 하였고, 여러 가지 문제를 피하기 위해 우분투가 아니라 또 다른 파티션에 있는 다른 리눅스에서 다음 작업을 했습니다. 만약을 대비해 이동이 아니라 복사 위주로 진행을 했습니다.

  1. 우분투의 /usr 디렉토리 아래의 모든 파일을 /home 파일이 있는 파티션에 복사를 하였습니다. /usr 디렉토리가 최상위 디렉토리가 아니라 /usr 아래의 디렉토리가 최상위 디렉토리가 되게끔 복사했습니다.

  2. 다른 파티션에 있던 /home 파일을 우분투가 설치된 파티션의 /home 아래로 복사하였습니다.

  3. 우분투의 기존 /usr 디렉토리의 이름을 /usr-1 로 바꾸고 새로운 /usr 디렉토리를 생성했습니다.

  4. 우분투의 /etc/fstab 파일에서 /home 디렉토리와 다른 파티션을 연결하는 부분을 /usr 로 변경했습니다. 사실상 /home 이란 부분을 /usr 로 바꾼 것 밖에 없습니다.

그리고 나서 우분투로 부팅을 했더니 파티션을 찾을 수 없다는 메시지 등이 나오면서 복구하겠냐고 물어보는데 잘못 복구했다가는 훨씬 꼬일 수도 있을 것 같아서 그냥 나오고 다시 원래대로 복원한 상태입니다.

이처럼 이와 같은 경우에 단순히 /etc/fstab 의 마운트 부분만을 수정해서는 안 되는 것 같은데 어떤 부분을 더 수정해 주어야 하는지, 또는 다른 방법을 사용해야 한다면 어떻게 해야 하는지 알려주시면 고맙겠습니다.

대체로 파티션을 따로 만들어 분리하는 것은, 용량의 문제보다도,
보안상의 이유나, 데이터 안정성을 위해서 나눌 경우가 많습니다.

/usr의 데이터와 /home의 데이터 중 어떤 것이 더 중요하다 보십니까?

리눅스에 의해 자동으로 변경되고, 만들어지며… 자동으로 업데이트 되는 자료?
아니면 사용자가 변경한 자료?

대체로 후자가 훨씬 가치있고, 중요하며, 복원의 대상이 되는 자료입니다.
우분투에서 자동으로 만들어진 자료는 업데이트나, 재설치에 의해 복원되거나, 비슷하게 복구되거나,
최신버젼으로 교체하면 그만입니다.

그렇기 때문에, 그 용량에 관계없이, home파티션은 중요한 자료이기 때문에, 파티션 분리를 추천합니다.
문제가 생기더라도, 우분투를 재설치하고, 백업된 home파티션을 복구하면, 거의 복구됩니다.

/usr을 따로 파티션을 나눠서 사용하기도 합니다만…
/usr은 소프트웨어들과 기본 리소스들이 저장되는 위치로, 그 크기를 얼마로 잡아야 할 지 가늠하기 쉽지 않습니다.
용량이 부족해지면 당장에 문제가 생기고, 또한, /파티션의 크기를 정하는데에도 애로사항이 있습니다(/home을 분리한다는 가정하에)

일단, /home파티션은 무조건 분리하시는걸 강추하구요.

/usr을 파티션 분리하시려면,
먼저 gparted등으로 /usr로 사용할 파티션을 만드세요.[code:q9bgpg0z]
mkdir t
USR_DEV=/dev/sda2
sudo mount $USR_DEV t
sudo rsync -avbzAHX /usr/ t/[/code:q9bgpg0z]
로 복사하세요 (여기서 USR_DEV의 값은 새로 생성한 파티션의 값으로 설정하시면 됩니다.)

[code:q9bgpg0z]USR_UUID=$(sudo blkid -s UUID -o value $USR_DEV)
echo -e "UUID=$USR_UUID\t\t/usr\t\text4\t\tdefaults\t0\t1" | sudo tee -a /etc/fstab[/code:q9bgpg0z]

다중 사용자를 위한, 그리고 보안에 많이 신경써야하고, 항시 백업해야하는 서비스용 서버의 경우가 아니라면,
/usr을 따로 분리하는것은 추천하지 않습니다.

답변 감사합니다.

그런데 지금 제가 /usr 파티션을 하나 더 만들기가 곤란한 상황이라서요. 다른 OS가 몇 개 더 있기 때문에 파티션 테이블이 변경되면 어떤 일이 벌어질 지 모르니까요. 게다가 / 파티션의 용량은 1기가도 남아 있지 않아서 부득이 /usr 과 /home 을 바꾸는 방법을 찾으려는 것이죠.

하지만 님께서 답해 주신 내용을 보니 /usr 은 알려주신 방법대로 /home 파티션으로 옮기고 /home 은 / 파티션으로 그냥 복사하면 되지 않을까 싶은데 이렇게 해도 될까요?

그리고 두 디렉토리의 위치를 바꾸는 것보다는 차라리 두 파티션의 크기를 조정하는 것이 나을 것 같다는 생각도 드는데 혹시 이렇게 파티션 크기를 조정했을 때 사용하는데 문제는 없는지 알고 싶습니다. 어떤 OS는 파티션의 시작점이 달라지면 아예 부팅이 되지 않는 경우도 있어서요.

한편 저의 경우에 /home 디렉토리의 위치를 다른 파티션에 두었던 주된 이유는 나중에 다른 리눅스를 설치하거나 우분투를 업그레이드하더라도 새로 많은 프로그램들을 다시 설치하지 않기 위해서였습니다. 저는 프로그램들도 /home 에 설치되어서 / 파티션만 새로 설치하면 되는 줄 알았거든요. 그런데 알고 보니 주로 /usr 에 설치되더군요. 그래서 나름대로 /usr 파티션은 별도로 두고 /home 디렉토리만 다른 곳에 백업해 두었다가 다른 OS를 설치하게 되면 /usr 파티션은 그대로 둔 채 /home 디렉토리의 내용만 백업된 것을 복원시키면 되겠다고 생각했는데 이 방법이 맞는지 모르겠네요. 혹시 이런 식으로 진행해 보신 경험이 있으신 분은 그 결과를 알려주시면 고맙겠습니다.

[quote="grenis":350hngjt]
그리고 나서 우분투로 부팅을 했더니 파티션을 찾을 수 없다는 메시지 등이 나오면서 복구하겠냐고 물어보는데 잘못 복구했다가는 훨씬 꼬일 수도 있을 것 같아서 그냥 나오고 다시 원래대로 복원한 상태입니다.

이처럼 이와 같은 경우에 단순히 /etc/fstab 의 마운트 부분만을 수정해서는 안 되는 것 같은데 어떤 부분을 더 수정해 주어야 하는지, 또는 다른 방법을 사용해야 한다면 어떻게 해야 하는지 알려주시면 고맙겠습니다.[/quote:350hngjt]

적절한 파티션이 있고(복사는 어떻게 하셨나요? 명령어 + 옵션)

/etc/fstab를 맞게 수정하셨으면 문제 없을것 같네요

부팅 후 에러 메시지를 자세히 보시는게 문제의 원인을 파악하는데 도움이 될 것 같습니다.