문맥
저는 최근에 Windows 10과 Gentoo를 2개의 별도 250GB SSD로 마이그레이션하고 기존의 기존 SATA HDD 드라이브를 저장용으로 유지했습니다.
Users
새로 설치하면서 Windows용 HDD를 설치했습니다 .- GParted LiveCD를 사용하여 루트 파일 시스템을 축소하고 새 드라이브에 복사하고 재부팅한 다음
/home
남겨둔 이전 루트 및 HDD 드라이브의 스왑 파티션을 삭제했습니다. UUID로 부팅하므로 괜찮습니다.
저는 젠투를 사용하고 있기 때문에 SSD의 디렉터리를 복사한 원래 HDD로 다시 이동해야 합니다. /usr
그래야 업데이트 중에 포티지 트리가 SSD 공간을 조금 차지하지 않습니다. 이 질문은 필요한 올바른 명령 옵션과 관련되어 있기 때문에 지금까지는 이 질문에 gentoo 태그를 지정하지 않았습니다(업데이트된 제목 참조). rsync
어떤 맥락에서 포티지 트리는 젠투의 패키지 저장소입니다. 업데이트하기 전에 전체 저장소가 사용자의 로컬 컴퓨터에 다운로드됩니다. SSD에 다운로드하면 트리가 매일 업데이트되므로 불필요한 마모가 발생합니다.
질문
제가 달성하려는 목표와 관련된 다음 두 가지 질문을 찾았습니다.
이제 나는 내 자신의 몇 가지 질문에 답해야 합니다.
rsync
이동해야 하는 위치를 이동하기 위해 젠투 설치에서 명령을 사용할 수 있나요 ? ServerFault 문제는 이를 암시합니다./usr
/usr
- #1이 불가능하고 GParted Live USB를 사용하여 명령을 실행하면
rsync
LiveUSB가 Debian 배포판을 기반으로 하기 때문에 파일/디렉토리 소유자가 변경됩니까? rsync
보관 외에-a
올바른 옵션은 무엇입니까? AskUbuntu가 선택한 답변의 주석은-H
하드 링크를 따르도록 추가를 제안했지만 OP는 자신의 답변에서 주석과 모순됩니다.
시각 자료
/usr
전체 빨간색 사각형 파티션이 실행되는 동안 빨간색 사각형 파티션에서 빈 파란색 사각형 파티션으로 디렉터리를 이동 해야 합니다 . 또는 현재 권한을 손상하거나 변경하지 않고 LiveCD를 사용하여 이 작업을 수행해야 합니다.
고쳐 쓰다
이 문제는 정복할 수 있는 산으로 판명되었지만, 내가 그것을 정복했는지는 모르겠습니다.
- 나는 이것을
/usr
사용할 수 있었습니다rsync -avAHPX /mnt/gentoo/usr /mnt/new_usr
. 나는 여전히 붙어 있기 때문에 대답의 일부를 믿을 수 없습니다. - 초기화 시스템이 마운트할 수 없는 파티션에 있기 때문에 루트 파일 시스템에 유효한 초기화가 포함되어 있지 않다고 systemd가 불평하기 때문에 아무 소용이 없습니다. 여기서 문제가 보이시나요? (Systemd가 위치함
/usr/lib/systemd
) - 나는해야한다초기 사용자 공간 설치이 문제를 해결하려면 Plymouth 부팅 화면 initramfs와
/usr
이전 설치에 필요한 initramfs가 손실됩니다. 당신은 또한 볼 수 있습니다사용자 정의 Initramfs그리고Initramfs/가이드. - "Systemd sucks"에 대해 불평하지 않는 지원 및/또는 다른 Gentoo 사용자는 찾아보기 어렵습니다(제가 여기에 기여하기 시작한 이유 중 하나입니다). 그래서 제가 공식 리소스에 질문을 게시하면 야유를 받습니다.
누구든지 Plymouth bootsplash를 initramfs/intramfd의 이전 설치와 결합하는 데 사용할 적절한 도구가 무엇인지 알려주시면 /usr
감사하겠습니다. 이 질문이 지속되면 현상금을 제공하는 것을 고려하고 있습니다. 또한 Gentoo는 소스 코드를 기반으로 하기 때문에 Gentoo Wiki 기사에 링크를 걸어도 다른 배포판의 도구를 사용할 수 있다는 점도 알아두세요.
답변1
대안을 제안해도 될까요?
언급한 것처럼 전체
/usr/*
트리를 이동하려고 시도하지 마십시오. 시스템이 중단되며 밀도가 높은 RW 및/또는 많은 낭비되는 공간 문제를 해결할 필요가 없는 것 같습니다(그냥 이동할 수 있습니다/usr/portage
).LiveCD에서 rsync 실행을 통해
/usr/portage
원격 HDD에 복사- 부팅 시 FSTAB을 통해 유사한 위치에 HDD를 마운트합니다.
/mnt/hdd
- 재귀 삭제
/usr/portage
- 심볼릭 링크
ln -s /mnt/hdd/gentoo/usr/portage /usr/portage
/usr/portage
나는 필요하지 않은 경우 기본 디렉터리(기본 디렉터리이지만 수정할 수 있다고 확신합니다)를 수정하는 것을 좋아하지 않으며 다른 하드 드라이브에 상주하려는 경우에만 심볼릭 링크를 사용합니다. 다른 파티션을 생성하여 /usr/portage
여기에 직접 마운트 할 수도 있지만 /usr/portage
저는 모든 데이터를 하나의 큰 원격 파티션에 마운트한 /mnt/data
다음 필요에 따라 디렉토리를 심볼릭 링크하는 것을 선호합니다. 나도 아마 /home
여기서 살 것 같아요.
다음과 같이 두 가지 별도의 파티션 구성표가 있을 수 있습니다.
/mnt/os_data
/mnt/my_data
나는 당신이 요점을 이해한다고 생각합니다.
답변2
rsync
이동해야 하는 위치를 이동하기 위해 젠투 설치에서 명령을 사용할 수 있나요 ? ServerFault 문제는 이를 암시합니다./usr
/usr
예, 물론 가능합니다(이동이 아니라 복사?). 하지만 저는 항상 이런 용도로 Live USB를 사용합니다. 사용 중인 시스템에서 /usr
복사하는 동안 일부 프로세스가 쓰기 작업을 수행하여 전송이 불완전할 수 있습니다.
- #1이 불가능하고 GParted Live USB를 사용하여 명령을 실행하면
rsync
LiveUSB가 Debian 배포판을 기반으로 하기 때문에 파일/디렉토리 소유자가 변경됩니까?
아니요. -a
로컬 복사본을 사용하는 동안에는 해당 복사본에 대한 권한을 유지해야 합니다.
rsync
보관 외에-a
올바른 옵션은 무엇입니까? AskUbuntu가 선택한 답변의 주석은-H
하드 링크를 따르도록 추가를 제안했지만 OP는 자신의 답변에서 주석과 모순됩니다.
-a
댓글에서 설명한 대로 에서 을 찾으면 , 및 가 man rsync
제외됩니다 . 이러한 플래그는 하드 링크, ACL 및 확장 속성을 보존합니다. 이 중 어떤 것도 포함되어 있는지 의심스럽습니다 . 그러나 만일의 경우에 대비하여 이러한 플래그를 사용하는 것이 나쁠 것은 없습니다. 소스 코드에서 이를 사용하지 않으면 보존할 것이 아무것도 없으므로 이 플래그를 사용하지 않은 것처럼 작동합니다. 나는 또한 중단된 전송을 재개하고 복사하는 동안 진행률을 표시하는 를 사용하는 경향이 있습니다 .-H
-A
-X
/usr
rsync
-P