Emerge --sync가 포티지 트리에서 파일을 삭제하는 것을 방지하는 방법이 있습니까?

Emerge --sync가 포티지 트리에서 파일을 삭제하는 것을 방지하는 방법이 있습니까?

PORTAGE_RSYNC_OPTS옵션을 사용 하면 make.confrsync 옵션을 변경할 수 있지만 --delete이를 제거하면 emerge오류가 발생합니다. md5 캐시 항목 누락 등에 대해 언급한 것 같습니다.

나는 업스트림 포티지 트리보다 오래된 ebuild 파일을 더 오래 유지하고 싶습니다.

답변1

이 ebuild는 어떤 이유로 메인 트리에서 제거되었습니다. 메인 트리에서 ebuild를 삭제한 후 빌드할 수 있기를 원하기 때문에 ebuild를 유지하는 것이 목표라면, 로컬 오버레이를 만들고 삭제된 ebuild를 거기서 추출하는 것이 좋습니다.Source.gentoo.org.

답변2

예전에는 원하는 대로 복제/체크아웃할 수 있는 포티지 트리 저장소가 있었습니다. 이 저장소에서는 언제든지 오래된 ebuild를 꺼낼 수 있습니다. 포티지/젠투는 매니페스트와 체크섬을 어디에든 넣기 때문에 업스트림 ebuild는 포티지 트리의 일부가 되는 것을 원하지 않습니다. 오버레이로만 가능합니다.

당신을 위해 구글링해서 찾았어요슈퍼 유저 SE에 관한 이 질문에 관하여이는 재정의 방법을 알려주고 포티지 CVS 저장소에 대한 링크도 포함합니다.

자세한 내용은:

당신은 을 사용하지 않고 , 후자에서 사용되는 전자를 rsync사용하고 있습니다 .emerge부분실제로는 일부가 나타납니다.나르다, 이는 패키지 및 패키지 정보를 관리(복사뿐만 아니라!)하는 데 실제로 사용하는 것입니다. 살펴보면 rsync포티지의 매우 깊은 세부 사항을 볼 수 있으며 그 세부 사항을 변경할 수는 없습니다. 대신 전체 시스템을 고려해야 합니다. 이것이 바로 단순한 rsync조정 행위로는 결코 원하는 효과를 얻을 수 없고 emerge.

portage사용 중인 시스템의 또 다른 부분은 체크섬입니다. 모든 파일에는 체크섬이 있어야 합니다. 실행하면 emerge --syncebuild를 복사하고 삭제할 뿐만 아니라 포티지 트리의 파일 목록과 해당 체크섬도 동기화합니다. 업스트림에서 삭제되어 포티지 트리에서 제거된 파일은 포티지 트리 내의 파일 목록에서도 제거됩니다(더 이상 포티지 트리의 일부가 아니기 때문입니다).

이것이 실패하는 이유입니다: 삭제하면 --delete사용 가능한 체크섬이 없는 파일이 포티지 트리에 남게 됩니다. 그러나 위에서 언급한 것처럼 체크섬은 시스템의 일부이므로 필요합니다.

또한 파일 목록에 체크섬이 있고 하나 또는 다른 추가 체크섬이 있을 수 있으므로 이를 해결하는 것이 지루할 수 있습니다.

관리자가 삭제하는 것이 좋을 것이라고 생각한 오래된 ebuild를 유지하려면 두 가지 옵션이 있습니다:

  1. 포티지 시스템을 파괴할 수 있습니다.

    a) rsync힘의 행동,

    b) emerge파일 목록에 항상 체크섬이 있는 ebuild가 포함되도록 해킹하고

    c) 파일 목록에 대한 체크섬을 포함하여 모든 체크섬이 항상 존재하고 정상인지 확인하는 무언가를 구축합니다.

    d) 안정적이고 유지 관리 가능한 운영 체제를 갖출 수 있도록 특별한 ebuild를 유지하되 오래되고 더 이상 사용되지 않으며 버그가 있는 ebuild를 제거하는 일관된 시스템을 생각해 보세요.

  2. 포티지 시스템에서 이 작업을 수행하면 포티지 트리를 덮어써서 수정할 수 있습니다.

너 분명히 하나 갖고 있어XY 문제. 귀하는 일부 중요한 소프트웨어의 전자 사본을 보관하고 싶다고 주장합니다. 하지만 당신은 그것을 어떻게 하는지 묻는 것이 아니라, 포티지 도구인 이머지가 사용하는 도구의 동작을 수정하는 방법을 묻는 것입니다.

이 다이어그램을 wxyz 문제로 확장할 수 있습니다. 여기서 w는 실제 문제이고 x(포티지)를 따라 실행하고 y(나타)를 거쳐 마지막으로 z(rsync)에서 벽에 부딪힙니다. 이제 몇 걸음 뒤로 물러나야 할 때입니다.

다른 사람들도 지금 당신과 같은 의도를 가지고 있습니다(이전 ebuild를 유지하세요). 전체 시스템을 엉망으로 만들지 않고 이를 달성할 수 있는 효율적이고 문서화된 방법이 있습니다. 그 길로 가보시길 권합니다.

관련 정보