트랜잭션 설치 프로세스는 Unix/Linux의 Windows 설치 프로그램과 유사합니다.

트랜잭션 설치 프로세스는 Unix/Linux의 Windows 설치 프로그램과 유사합니다.

Windows 설치 프로그램과 유사한 Unix/Linux의 트랜잭션 설치 프로세스가 있습니까?

Makefile이나 패키지 관리자(예: deb)와 같은 설치 스크립트는 파일을 직접 복사하여 기존 파일을 덮어쓰는 경우가 많습니다.

답변1

Windows Installer 도구의 속성에 대해 전혀 모르지만 한 번 살펴보십시오.Nix 패키지 관리자(그리고NixOS GNU/Linux 배포판그 주위에 구축). 이전 콘텐츠를 전혀 덮어쓰지 않으므로 원자 업데이트 기능이 있습니다.

또 다른 접근 방식은 파일 시스템 스냅샷 지원을 사용하는 것입니다.yum스냅샷 처럼btrfs(반품snapperOpenSUSE에는 dpkg사전/사후 작업도 있을 수 있으므로 이 작업도 가능하다고 생각합니다.

편집하다파일 시스템 스냅샷을 사용하는 ./configure && make && make install것도 트랜잭션...

답변2

일반적인 패키지 관리자는 패키지가 설치되었는지 확인하는 데 주의를 기울입니다. 일반적으로 이전 버전이 계속 설치되고 새 파일의 압축이 풀리지만 이름이 다른 전환 기간이 있습니다. 전환 중에 시스템이 충돌하더라도 소프트웨어는 계속 작동할 가능성이 높습니다. 설치를 완료하려면 설치 복원 명령이 필요할 것입니다. 일부 새 파일이 제자리에 있고 일부 이전 파일이 여전히 제자리에 있는 기간이 있지만 크기는 작습니다.

반면, 설치 오류가 있는 경우 오류가 발생한 시점에 따라 새 버전을 사용할 수 없더라도 프로그램이 새 버전으로 전환되었을 수 있습니다. 이것은 다소 피할 수 없는 일입니다. 아마도 프로그램을 시작하고 기존 파일을 열었지만 올바르게 해석할 수 없기 때문에 새 버전이 작동하지 않는다는 것을 알게 될 것입니다. 대부분의 Linux 패키지 관리자에는 업그레이드를 되돌리는 쉬운 방법이 없습니다. 일반적으로 이전 버전의 패키지를 수동으로 다운로드하여 강제 설치해야 합니다.

makefile이나 이와 동등한 파일을 사용하여 소스 코드에서 컴파일된 소프트웨어를 설치하는 경우 소프트웨어는 자체 디렉터리에 설치되어야 합니다. 각 버전을 자체 디렉토리에 설치하고 이전 버전을 제거하기 전에 새 버전을 테스트하십시오. 프로그램은 설치 디렉터리에서 즉시 사용할 수 있으므로 이전 버전과 새 버전 사이를 전환할 필요가 없습니다. 새 버전을 실행하기만 하면 됩니다. 사용집어 챙겨 넣다또는X스토우PATH등에서 실행 파일을 가질 수 있도록 공통 계층 구조에 심볼릭 링크를 만듭니다 .추적 프로그램.

관련 정보