Acabei de tentar instalar o Virtualbox a partir do código-fonte no Ubuntu, mas não permitiu porque já tenho o pacote repo. Eu preciso ter as duas versões idealmente. É possível instalar a partir do código-fonte de forma que contorne essa restrição?
A seguir está a mensagem de erro após um comando sudo dpkg -i no pacote deb:
Selecting previously unselected package virtualbox-5.1.
dpkg: regarding virtualbox-5.1_5.1.18-114002-Ubuntu-trusty_amd64.deb containing virtualbox-5.1:
virtualbox-5.1 conflicts with virtualbox
virtualbox-5.0 provides virtualbox and is present and installed.
dpkg: error processing archive virtualbox-5.1_5.1.18-114002-Ubuntu-trusty_amd64.deb (--install):
conflicting packages - not installing virtualbox-5.1
Errors were encountered while processing:
virtualbox-5.1_5.1.18-114002-Ubuntu-trusty_amd64.deb
Responder1
Você não pode instalar duas versões do mesmo pacote através do gerenciador de pacotes. (É assim que o APT funciona — existem outros gerenciadores de pacotes que funcionam de maneira diferente.) Se você tentar instalar uma segunda versão, ela substituirá a antiga.
É possível instalar múltiplas versões de alguns programas com APT. Isso é feito adicionando a versão do programa ao nome do pacote. Normalmente isso é feito para bibliotecas, porque você pode ter vários programas instalados usando diferentes versões da mesma biblioteca. Na verdade, isso está acontecendo com o VirtualBox: você está tentando instalar virtualbox-5.1
com virtualbox-5.0
o já instalado. Em termos de nomes de pacotes, isso é possível. Entretanto, esses pacotes não podem ser instalados juntos; os metadados do pacote contêm informações de conflito que informam ao gerenciador de pacotes para não instalá-los juntos. Mesmo que os metadados do pacote não declarassem conflito, os dois pacotes não poderiam ser instalados juntos, pois fornecem arquivos com o mesmo nome. Não sei porque o VirtualBox vem em pacotes cujo nome contém a versão do software.
Se quiser instalar várias versões do VirtualBox, você terá que instalá-las a partir de uma distribuição binária ou do código-fonte, sem usar o gerenciador de pacotes. Em outras palavras, não obtenha um arquivo deb (exceto talvez para uma das versões).