Arch에서 패키지와 해당 종속성을 반복적으로 다운그레이드하는 방법

Arch에서 패키지와 해당 종속성을 반복적으로 다운그레이드하는 방법

최신 업그레이드 후 특정 프로그램(특히 fldigi)을 실행할 때 xmonad가 충돌하기 때문에 xmonad를 다운그레이드해야 합니다. 질문의 반대아치 리눅스에서 여러 패키지를 다운그레이드하는 방법은 무엇입니까?, 패키지와 해당 종속성을 반복적으로 다운그레이드해야 합니다.

xmonad를 다운그레이드하려면 haskell-...에 의존하는 haskell-x11을 다운그레이드해야 합니다. 이것은 ~20개의 다른 패키지에 의존하지만 ~20에만 의존합니다. 이 경우 가방 세트가 손에서 벗어나지 않으며 한 번에 가방 하나를 처리하는 것이 지루하더라도 충분합니다.

다운그레이드로 문제가 해결되었음을 확인한 후에는 다시 롤포워드하여 Haskell을 잘 아는 사람이 이 문제를 디버깅하도록 도울 계획입니다.

답변1

이는 바이너리 배포의 제한 사항입니다. 모든 바이너리 배포판은 사용자가 준수해야 하거나 어려움에 직면해야 하는 특정 정책을 설정합니다. 특히 ABI 손상에 직면하거나 복잡한 패키지 체인을 다시 빌드하고 이러한 패키지를 병렬로 설치해야 하며 이는 Arch 철학에 어긋납니다.

단순한 아키텍처 철학은 최신 버전만 핵심 구성 요소에 통합된다는 의미이므로 버전 선택은 실제로 설계에 따라 제공되지 않습니다. 아마도 도구 체인이 지나치게 복잡해지기 때문일 것입니다.

대조적으로, deb 기반 배포판에는 여러 버전의 패키지가 있을 수 있으며 자동 종속성 해결 기능이 있습니다. 그러나 업그레이드할 때만 제대로 작동하고 다운그레이드할 때는 성능이 좋지 않습니다. 다운그레이드하면 일반적으로 전체 패키지 체인이 제거되고 이전 버전이 다시 설치됩니다. 패키지 핀을 설정하고 지우는 것은 길고 시간이 많이 걸리는 작업입니다. 따라서 이것은 이상적인 상황이 아닙니다.

여기서 달성하려는 것은 시스템 정책을 직접 정의하는 정책 없는 환경입니다. 기본적으로 소스 기반 배포가 필요합니다. 젠투를 추천합니다. 그러나 대부분의 패키지는 바이너리 형식으로 제공되지 않기 때문에 이러한 자유에는 대가가 따릅니다. 또한 Gentoo 루트에 가깝게 유지하면서 사전 구축된 바이너리의 더 큰 저장소를 포함하고 있으므로 Calculate Linux 및 RedCore를 꼭 사용해 보세요.

관련 정보