패키지화되고 컴파일된 애플리케이션이 공존합니다.

패키지화되고 컴파일된 애플리케이션이 공존합니다.

운영 체제: Linux Mint 18 Cinnamon 64비트.

다음 응용 프로그램의 패키지 버전을 설치했기 때문에:

file-roller

이것은 Archive Manager입니다. 컴파일된 버전도 설치되어 있으며 컴파일된 버전이 우선적으로 적용되는지 확인하고 싶습니다.

Archive Manager라는 2개의 메뉴 항목이 있습니다.

/usr/share/applications/file-roller.desktop
/usr/share/applications/org.gnome.FileRoller.desktop

아마도 그 중 하나를 제거할 수 있을 것입니다.

which file-roller

설명하다:

/usr/local/bin/file-roller

이것은 내 컴파일된 버전입니다.

file-roller 3.27.0, Copyright © 2001-2012 Free Software Foundation, Inc.

그러나 여전히 패키지 버전이 있습니다.

file-roller 3.16.5, Copyright © 2001-2012 Free Software Foundation, Inc.

예를 들어 GUI에서 ZIP 파일을 열도록 요청하면 컴파일된 버전이 표시되고 그것이 일관되게 작동하는지 확인하고 싶습니다.

패키지 버전을 제거해 보았습니다.

sudo apt-get purge file-roller

결과:

[sudo] password for vlastimil: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  librpm3 librpmio3 lzop rpm-common rpm2cpio
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
  file-roller* mint-meta-cinnamon* nemo-fileroller*
The following held packages will be changed:
  file-roller
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
After this operation, 2,048 kB disk space will be freed.
Do you want to continue? [Y/n] n
Abort.

보시다시피 다음이 제거됩니다.

mint-meta-cinnamon

그리고

nemo-fileroller

발바닥을 제외하고 file-roller.

그래서 누군가 진행 방법을 알려줄 때까지 패키지를 보류했습니다.

답변1

파일의 내용을 살펴보면 .desktop실행할 명령의 경로가 지정되어 있지 않음을 알 수 있습니다. 따라서 우선순위에는 전혀 영향을 미치지 않습니다. 여기서 유일하게 중요한 점은 디렉토리의 순서입니다 . 어쨌든 순서는 맨 앞에 PATH있어야 합니다 . (이것은 당신이 보고 있는 동작을 설명합니다.)/usr/local/bin/usr/bin

따라서 설치된 패키지를 유지하면서 컴파일된 버전이 계속 사용되도록 할 수 있습니다.

두 가지 버전을 설치하지 않으려면 equivs가짜 file-roller패키지를 빌드하거나(이 패키지에 의존하는 패키지 제거를 방지하기 위해) 최신 버전의 패키지를 직접 빌드해야 합니다.

관련 정보