웹사이트 검색

Linux에서 /Home 디렉토리를 파티션으로 변환하는 방법


이 주제는 조금 이상해 보일 수도 있습니다. 내 말은, 왜 홈 디렉토리를 별도의 파티션으로 변환해야 합니까?

Linux를 설치할 때마다 설치 프로그램은 이미 기본적으로 '안내' 파티션을 선택합니다. 이 옵션을 선택하면 설치 프로그램은 home 디렉터리와 기타 모든 시스템 디렉터리를 루트 (/) 파티션 아래에 배치합니다.

이 설정은 꽤 잘 작동하지만 엄청난 위험을 안겨줍니다. 시스템이 충돌하거나 루트 파티션이 손상되면 홈 디렉토리에 있는 모든 개인 파일이 손실됩니다.

이러한 이유로 설치 중에 별도의 홈 파티션을 생성하는 것이 중요합니다. 이는 운영 체제를 재설치하는 동안이나 루트 파티션이 충돌하는 경우 개인 파일의 안전을 보장합니다.

모든 디렉터리가 루트 파티션 아래에 들어가도록 하드 드라이브를 분할하는 동안 기본 옵션을 수락했다면 이 가이드가 도움이 될 것입니다.

이 가이드에서는 홈 디렉터리를 새로 추가된 디스크의 별도 파티션으로 전송합니다. 데모 목적으로 이동식 USB 드라이브를 사용하여 추가 드라이브의 목적을 달성하겠습니다. 실제 세계에서는 홈 파티션으로 사용할 SSD 드라이브나 추가 HDD가 될 수 있습니다.

의 시작하자!

1단계: 추가된 새 드라이브 식별

이동식 드라이브를 연결하기 전에는 home 폴더가 있는 단일 하드 드라이브(/dev/sda)/ 또는 루트 파티션.

다음은 df 명령을 사용하여 하드 드라이브 구성을 간략하게 보여줍니다.

df -Th

다음으로 8GB 이동식 USB 드라이브를 연결하겠습니다. 이는 /dev/sdb로 식별되며 /media/tecmint/USB 마운트 지점에 마운트됩니다.

이를 확인하기 위해 lsblk 명령을 실행합니다.

lsblk

파티션과 마운트 지점은 설정에 따라 다를 수 있습니다. 예를 들어, 세 번째 드라이브는 /dev/sdc로 표시되고, 네 번째 드라이브는 /dev/sdd 등으로 표시됩니다.

2단계: Linux에서 새 파티션 만들기

두 번째 드라이브를 시스템에 새로 추가했지만 디렉토리에 대한 별도의 파티션으로 사용하려면 해당 드라이브에 파티션을 만들어야 합니다. 현재는 새 드라이브이므로 해당 드라이브가 없습니다.

fdisk 명령은 표시된 대로 이를 확인합니다.

sudo fdisk -l

강조 표시된 섹션에서 /dev/sda1, /dev/sda2,가 있는 첫 번째 드라이브와 달리 새 드라이브에는 연결된 파티션이 없음을 확인할 수 있습니다. 및 /dev/sda5.

이제 다음 명령을 사용하여 파티션을 생성하겠습니다.

sudo fdisk /dev/sdb

메시지가 나타나면 'n'을 눌러 새 파티션을 만드세요. 그런 다음 'p'를 눌러 기본 파티션 생성을 지정하고 '1'를 눌러 파티션 번호를 지정하세요. 다음 두 개의 프롬프트에서는 'ENTER'를 눌러 첫 번째 및 마지막 섹터 지정 시 기본값을 적용합니다.

내 이동식 드라이브는 NTFS 파일 시스템과 함께 제공되므로 'Y'를 눌러 제거하겠습니다. 모든 변경 사항을 저장하려면 'w'를 누르세요. 이렇게 하면 파티션에 대한 모든 변경 사항이 기록됩니다.

변경 사항을 확인하려면 다시 한 번 다음 명령을 실행하십시오.

sudo fdisk /dev/sdb

메시지가 나타나면 'p'를 눌러 인쇄하세요. 그러면 파티션의 정보가 인쇄됩니다. 출력에서 파일 시스템 유형으로 Linux를 사용하여 새 파티션 /dev/sdb1이 생성된 것을 볼 수 있습니다. 다음 섹션에서 수행할 ext4 파일 시스템 유형으로 포맷해야 합니다.

3단계: Linux에서 새 파티션 포맷

다음 단계는 ext4 파일 시스템 형식을 사용하여 /dev/sdb1 파티션을 포맷하는 것입니다. 이동식 드라이브인 /dev/sdb가 아니라 /dev/sdb1(파티션)을 포맷하고 있다는 점에 유의하세요.

sudo mkfs.ext4 /dev/sdb1

4단계: Linux에 새 파티션 마운트

드라이브가 시스템에 액세스할 수 있으려면 시스템의 파일 시스템에 드라이브를 마운트해야 합니다. 하지만 먼저 파티션을 마운트할 마운트 지점을 만듭니다.

sudo mkdir -p /srv/home

다음으로, 다음과 같이 마운트 지점에 파티션을 마운트하겠습니다. 이는 사실상 시스템에서 드라이브를 사용할 수 있게 만드는 것입니다.

sudo mount /dev/sdb1 /srv/home

이를 확인하려면 다음과 같이 df 명령을 실행하세요.

sudo df -Th

5단계: 홈 디렉터리 파일을 새 파티션에 복사

이제 home 디렉터리의 내용을 현재 드라이브에 있는 마운트 지점에 복사해야 합니다. 따라서 다음 명령을 실행하겠습니다.

sudo cp -aR /home/* /srv/home/

모든 것이 제대로 진행되었는지 확인하기 위해 홈 디렉토리의 내용을 확인하겠습니다.

ls -l /srv/home/tecmint

출력에서 홈 디렉터리에 있을 것으로 예상되는 모든 기본 디렉터리가 존재함을 명확하게 확인할 수 있습니다.

6단계: 새 홈 디렉토리 생성 및 드라이브 마운트

이제 홈 파티션을 마운트할 또 다른 홈 디렉토리를 생성해야 합니다. 혼란을 피하기 위해 현재 홈 디렉토리의 이름을 표시된 /home.bak로 바꾸겠습니다.

sudo mv /home /home.bak

다음으로 새로운 홈 디렉토리를 생성하겠습니다.

sudo mkdir /home

그런 다음 /dev/sdb1 파일 시스템을 마운트 해제하고 새로 생성된 홈 디렉터리에 마운트합니다.

sudo umount /dev/sdb1
sudo mount /dev/sdb1 /home

/home 디렉토리에 기본 디렉토리가 포함되어 있는지 확인하기 위해 해당 내용을 탐색하고 나열합니다.

cd /home
ls -l tecmint

또한 다음과 같이 df 명령을 사용하여 파일 시스템이 /home 마운트 지점에 마운트되었는지 확인할 수 있습니다.

sudo df -Th /dev/sdb1

출력에서는 드라이브의 /dev/sdb1 파일 시스템이 /home 파티션에 마운트되어 있음을 확인합니다. 그러나 재부팅 후에도 유지되지 않습니다. 이를 지속시키려면 파일 시스템 정보로 /etc/fstab 파일을 수정하는 추가 단계가 필요합니다.

7단계: Linux에서 영구 파티션 마운트

시스템 시작 시마다 파일 시스템이 자동으로 마운트되도록 /etc/fstab 파일을 수정하겠습니다. 하지만 먼저 다음과 같이 파일 시스템의 UUID를 구해 보겠습니다.

sudo blkid /dev/sdb1

다음 단계에서 사용되므로 UUID를 텍스트 편집기의 어딘가에 복사하여 붙여넣습니다.

다음으로 /etc/fstab 파일을 엽니다.

sudo vim /etc/fstab 

표시된 대로 이 줄을 파일에 추가합니다. 대괄호 안의 uid를 이전에 텍스트 편집기에 복사하여 붙여넣은 /dev/sdb1 파일 시스템의 실제 UUID로 바꿉니다.

UUID=[ uid ]     /home	   ext4	   defaults	0	2

변경 사항을 저장하고 파일을 닫습니다. 그런 다음 다음 명령을 실행하여 모든 파티션을 마운트합니다.

sudo mount -a

이제 시스템 시작 시마다 /home 파티션에 드라이브가 마운트됩니다.

df  -h /dev/sdb1

이러한 모든 단계를 거치지 않으려면 항상 설치 중에 나머지 시스템 파티션과 별도의 홈 파티션을 만들어 개인 파일과 시스템 파일을 분리하는 것이 좋습니다. 이렇게 하면 문제가 발생할 경우 데이터를 쉽게 복구할 수 있습니다.