Coexistência de aplicativo empacotado e compilado

1

OS: Linux Mint 18 Canela de 64 bits.

Desde que eu empacotei a versão instalada do seguinte aplicativo:

file-roller

que é o Archive Manager, e eu também tenho uma versão compilada instalada, gostaria de ter certeza de que o compilado tem precedência.

Eu tenho 2 itens de menu denominados Gerenciador de arquivos:

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

Um dos quais eu provavelmente posso excluir.

which file-roller

diz:

/usr/local/bin/file-roller

qual é a minha versão compilada:

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

Mas ainda há a versão empacotada:

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

Parece que quando faço uma solicitação na GUI para abrir, por exemplo, um arquivo ZIP, a versão compilada aparece, eu gostaria apenas de ter certeza de que ele se comportará de maneira consistente.

Eu tentei desinstalar a versão empacotada:

sudo apt-get purge file-roller

com resultado:

[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.

Como você pode ver, isso removeria:

mint-meta-cinnamon

e

nemo-fileroller

com exceção do único file-roller .

Então coloquei o pacote em espera até que alguém me diga como proceder.

    
por Vlastimil 28.10.2017 / 15:30

1 resposta

2

Se você observar o conteúdo dos arquivos .desktop , verá que eles não especificam o caminho para o comando a ser executado. Então eles não afetam a precedência. O único aspecto que importa aqui é a ordem dos diretórios em seu PATH , que deve ter /usr/local/bin à frente de /usr/bin de qualquer maneira. (Isso explica o comportamento que você está vendo.)

Assim, você pode deixar o pacote instalado e ainda ter certeza de que sua versão compilada será usada.

Se você quer evitar ter duas versões instaladas, você deve usar equivs para criar um pacote falso de file-roller (evitando a remoção de pacotes dependendo dele), ou construir uma versão mais nova do pacote você mesmo. / p>     

por 28.10.2017 / 16:56