동일한 파일을 작성하는 두 개의 패키지를 설치하는 방법


14

각각 / usr / bin / ffprobe를 만드는 두 개의 패키지가 있습니다. 그중 하나는 Deb Multimedia 저장소의 ffmpeg이고 다른 하나는 소스에서 빌드 된 ffmbc 0.7-rc5입니다. 수동 롤링은 비즈니스 크리티컬 한 것으로, 필요할 때마다 소스에서 설치하는 데 사용했습니다. 나는 그것이 ffmpeg 파일을 방해한다고 가정 할 수 있으며 아무런 부작용이 없었습니다.

이론적으로, ffmbc 패키지가 ffmpeg 패키지에서 파일을 덮어 쓸 수 있습니다. 단점은 ffmpeg를 업데이트하면 ffmbc 바이너리를 덮어 쓰게됩니다. 이것을 조정하는 쉬운 방법이 있습니까?

답변:


12

데비안 기반 시스템에는 DPKG (apt 아래)가 dpkg-divert 명령을 사용하여 전환 설정을 할 수 있습니다

dpkg-divert는 전환 목록을 설정하고 업데이트하는 데 사용되는 유틸리티입니다.

파일 전환은 dpkg (1)가 파일을 해당 위치에 설치하지 않고 다른 위치에 설치하도록하는 방법입니다. ... 시스템 관리자는이 패키지를 사용하여 일부 패키지의 구성 파일을 무시하거나 해당 파일이 포함 된 최신 버전의 패키지를 설치할 때 dpkg에서 일부 파일 ( 'conffiles'로 표시되지 않음)을 보존해야 할 때마다 .

따라서 귀하의 경우 이와 같은 명령을 사용하여 전환을 설정할 수 있습니다. (테스트하지 않았으므로 매뉴얼 페이지를 확인하고 이것이 올바르게 보이는지 확인하십시오.)

dpkg-divert --local --divert /usr/bin/ffprobe.ffmpeg --rename /usr/bin/ffprobe

8

내가 찾은 또 다른 솔루션은 ffmbc 패키지를 빌드하는 방법을 변경하는 것이 었습니다. 일반적으로 설치된 파일의 최종 경로를 변경하기 위해 대체 접두사를 전달할 수 있습니다.

./configure --prefix=/usr/local

데비안 패키지의 경우 $ {package} / debian / rules 파일에 다음과 같이 들어갑니다.

override_dh_auto_configure:
    ./configure --enable-gpl --prefix=/usr/local

ffmbc 파일을에 넣으면 /usr/localffmpeg 파일을 보관하고 /usr각 패키지를 독립적으로 업데이트 할 수 있습니다.


3
패키지는 아무것도 설치하지 않아야합니다 /usr/local. 정책 위반입니다. /usr/local패키지 관리 및 수동으로 설치된 파일을 구분하여 파일을 유지 하는 것이 요점입니다 . 다음 FHS 관련 토론을 참조하십시오 : unix.stackexchange.com/questions/30/…
Onlyjob

-1

동일한 파일을 제공하는 패키지는 서로 충돌해야합니다. 버그가 아닙니다 (이러한 사례보고를 고려하십시오). 당신이 소스에서 소프트웨어를 구축하고 사용하여 설치하는 경우 make install(또는 유사)이 간다 확인 /usr/local패키지 관리와의 충돌을 피하기 위해.

있습니다 deb-multimedia.org가 공식 패키지와 충돌을 일으키는 비공식 저장소 악명되지 않습니다.

필요한 소프트웨어가 데비안 용으로 패키징되지 않은 경우 패키징 요청 RFP를 제출할 수 있지만 기존 요청을 먼저 확인하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.