zypper를 사용하여 특정 날짜 이전에 패키지를 설치하는 방법은 무엇입니까?

zypper를 사용하여 특정 날짜 이전에 패키지를 설치하는 방법은 무엇입니까?

매뉴얼 페이지에서 해당 매개변수를 찾을 수 없지만 해결책이 있을 수 있습니다.

질문: 특정 날짜 이전에 패키지를 설치하려면 어떻게 해야 합니까? 따라서 패키지의 최신 버전이 아니라 해당 날짜 이전에 출시된 이전 버전입니다.

수동으로 하나씩 선택하는 것은 너무 느립니다.

답변1

지정된 날짜까지 설치할 수 있을지 의문입니다. 시스템 날짜를 거꾸로 설정해 보았지만 작동하지 않습니다. zypper가 아래에서 사용하는 rpm에 전달할 수 있는 옵션도 없습니다.

그래서 제가 생각할 수 있는 유일한 방법은 SuSe용 로컬 RPM 저장소를 설정하고 해당 저장소에 이러한 패키지를 채우고 특정 날짜까지 사용하는 것입니다. 특정 날짜에 이용 가능한 상품을 알아보세요.Archive.org유용할 수도 있습니다.

바라보다이것로컬 OpenSuSE 저장소를 설정하는 방법을 알아보세요.

답변2

zypper search -s --match-substrings아마도 당신이 가질 수 있는 최고의 검색 옵션일 것입니다. 그러나 실제로 패키지 빌드 날짜에 대해 RPM을 검색하지는 않습니다. 당신이 하려는 일은 특정 날짜 이전에 출시된 모든 업데이트를 가져오거나 설치하는 것입니다.

내가 하는 일은 패키지를 수동으로 가져와서 저장소에 호스팅하는 것입니다. 내 저장소는 CentOS 호스트에 있습니다. createrepo를 사용하여 생성됩니다. zypper .repo 파일에서 "type=yum"을 지정합니다.

답변3

최신 버전보다 먼저 특정 버전의 패키지를 설치하려고 한다고 가정합니다. MozillaFirefox를 예로 들면, 다음 명령을 사용하여 MozillaFirefox 패키지를 검색할 때
zypper se -t package -s MozillaFirefox
출력은 다음과 같습니다(i586 패키지 및 기타 관련 없는 패키지는 잘렸습니다).

v | MozillaFirefox | x86_64 | MozillaFirefox | -23.1 | MozillaFirefox
| -18.1 | MozillaFirefox | x86_64 | MozillaFirefox | 33.0-2.1 |







Mozilla Firefox 버전 33.0-2.1이 시스템에 설치되어 있고 최신 버전은 38.0.1-30.1임을 확인할 수 있습니다.
최신 버전을 설치하지 않고 36.0 이전 버전만 설치하려는 경우 호출하면 됩니다 zypper in.
구문은 다음과 같습니다.
zypper in 'Mozillafirefox.x86_64<36.0
i586 아키텍처 패키지를 설치할 수도
zypper in 'Mozillafirefox.i586<36.0
있고, zypper가 패키지 아키텍처를 선택하도록 하면
zypper in 'Mozillafirefox<36.0

zypper가 버전 36.0에 가장 가까운 버전 35.0-9.1을 설치하게 됩니다.
zypper는 ">, <=, >= 등"에 대한 지원도 제공합니다 zypper help in.
이것이 당신이 찾고 있던 것이기를 바라며 도움이 되기를 바랍니다.

관련 정보