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