곧 업데이트될 패키지가 있지만 일부 사용자는 이전 패키지 사용을 선호할 것이라는 것을 알고 있습니다. 그래서 내가 사용한 이유대안 업데이트패키지의 루틴. 문제는 최신 패키지가 최신 패키지에 의존한다는 것입니다.단위문서.
요약하다,
dpkg -L mypackage-1.0
/opt/mypackage-1.0/binary
dpkg -L mypackage-service-1.0
/opt/mypackage-1.0/mypackage.service
dpkg -i mypackage-1.0
설치 시 단일 대안이 제공됩니다.내 가방dpkg -i myservice-service-1.0
그리고나의 서비스 서비스
이들은 상호 의존적입니다.
dpkg -L mypackage-2.0
/opt/mypackage-2.0/binary
dpkg -L mypackage-service-2.0
/opt/mypackage-2.0/mypackage.service
dpkg -i mypackage-2.0
설치 시 새로운 대안을 사용할 수 있습니다 ( /lib/systemd/system/mypackage.service -> /etc/alternatives/mypackage.service
).내 가방dpkg -i myservice-service-2.0
그리고mypackage-서비스
그 뒤에 있는 아이디어는 update-alternatives --config mypackage
버전 간을 쉽고 명시적으로 사용하고 전환할 수 있도록 하는 것입니다.update-alternatives --config mypackage-service
첫 번째 부분은 잘 작동했지만 두 번째 부분에서는 문제가 발생했습니다. 그것~인 것 같다마찬가지로 단위 파일에 심볼릭 링크를 사용할 수 없습니다( update-alternatives --install
정확히 수행할 작업).
나는 사용한다시스템 제어 215존재하다데비안 제시.
나는 모든 것이 처음부터 다르게 배열되었을 수 있다고 생각합니다.
답변1
문제를 해결하는 새 버전으로 업그레이드하기 전에 파일을 복사하고 이동하는 것 외에도 systemd
현재 버전의 동작을 변경할 수 없으므로 다른 메커니즘을 사용하여 파일을 교체해야 합니다.update-alternatives
symlink
systemd