젠투 업그레이드를 위한 이전 포티지 스냅샷은 어디서 찾을 수 있나요?

젠투 업그레이드를 위한 이전 포티지 스냅샷은 어디서 찾을 수 있나요?

Gentoo(2018)의 이전 설치를 업그레이드하고 싶습니다. 현재 포티지 스냅샷을 설치하려고 했지만 해결되지 않은 패키지 충돌이 너무 많이 발생했습니다.

그래서 저는 오래된 포티지 스냅샷을 사용하여 두 달 간격으로 더 작은 단계로 업그레이드하는 것이 해결책이 될 수 있다고 생각했습니다. 이러한 방식으로 가능한 충돌을 여전히 제어할 수 있어야 합니다.

오래된 포티지 스냅샷을 찾았습니다여기그런데 가장 나이 많은 아이는 태어난 지 한 달밖에 안 됐어요. 여러 검색 엔진과 포럼에서 포티지 스냅샷 아카이브를 검색했지만 아무 것도 찾을 수 없습니다.

Gentoo는 그러한 아카이브를 유지관리합니까? 그렇다면 어디서 찾을 수 있나요? 또한, 제가 아는 한, 포티지는 패키지 소스를 포함하지 않습니다. 그럼 패키지 소스도 보관되나요?

답변1

운이 좋게도 git시스템이 손상되기 전에 업데이트를 설치할 수 있다면 다음을 수행할 수 있습니다.

cd /usr
mv portage portage-recent
git clone https://github.com/gentoo/gentoo portage
cd portage

그런 다음 시간을 거슬러 여행할 수 있는 가장 좋은 대안을 찾으세요.

역사로 돌아가서git-log

git log

그런 다음 페이지를 아래로 내리거나 검색하여(vim을 사용하는 경우 정규 표현식이 도움이 될 수 있음) 마지막으로 성공한 업데이트 시간에 가까운 커밋을 찾습니다. 제 경우에는 2021년 3월쯤이었기 때문에 /Mar [0-9]+ [0-9:]+ 2021인접한 커밋도 2021년 3월 이전이거나 2021년 3월에 가까울 때까지 검색했습니다.

마음에 드는 커밋을 찾으면 다음을 사용하여 확인하세요.

git checkout <commit-hash>

내가 아는 한 그건 그렇다.

git checkout 70b8ef2605acc363ea1a0347f9df23fa92590847

그런 다음 패키지 업그레이드를 진행할 수 있습니다. 그런 다음 최신 상태가 될 때까지 조금 더 일찍 커밋하세요.

Git - 데이터 체크아웃

이 포럼 게시물에서는 또 다른 접근 방식을 제안합니다.포티지 기록 스냅샷의 사라짐에 관한 두 번째 기사

git checkout $(git rev-list -n 1 --first-parent --before="2021-03-31" master)

그러면 시간 내에 해당 섹션으로 이동하게 됩니다.

덩어리로 반환

200개의 커밋을 포티지의 현재 지점으로 다시 이동하는 것이 합리적으로 작동하는 업데이트 단계를 얻는 가장 좋은 장소라고 가정해 보겠습니다(주요 프로필 업그레이드 전, 너무 많지도 않고 너무 파괴적이지도 않음). 그런 다음 해당 커밋 수를 먼저 반환할 수 있습니다.

git checkout master~200

모두 업그레이드한 후에(기존 패키지가 포함된 미러를 찾을 수 있기를 바랍니다!) 다음과 같이 진행할 수 있습니다.

git checkout master~180

어떤 패키지를 업그레이드할 것인지 확인한 후 계속 진행하세요.

동기화하지 마세요!

이제 포티지는 실제 젠투 저장소에 갇혀 있습니다. 이렇게 하면 emerge --sync모든 데이터가 현재 데이터로 대체됩니다. 대신, 최첨단에 서고 싶다고 가정해 보겠습니다.

cd /usr/portage
git fetch
git checkout master #ensure you're back to the branch
git merge --ff-only

--sync를 실행하지 않으면 문제가 발생하지 않습니다. 그렇지 않으면 git checkout -- .일반적으로 수행해야 하는 전체 저장소를 재설정해야 할 수 있습니다. 그러면 merge작동할 것입니다.

거울이 없어졌어요

대부분의 미러는 오래된 패키지/ebuild를 장기간 저장하지 않으므로 손가락질을 해야 할 수도 있습니다. 또한 시스템에서 미러 목록은 최신이 아니며 일부/대부분이 전혀 작동하지 않아야 합니다.

mirrorselect현재 사용 가능한 것으로 보이는 업데이트를 수행할 멋진 도구가 더 이상 없거나 없는 경우 해당 도구를 의 행 http://distfiles.gentoo.org/에 추가하고 싶을 것입니다 .GENTOO_MIRRORS=/etc/portage/make.conf

관련 정보