Aviso:
O GuitarPro deb é empacotado perigosamente!
Em um sistema de 64 bits, se você
apt-get -f install
tentar instalá-lo,apt-get
desejará remover os seguintes pacotes críticos do sistema , que podem arruinar sua instalação do Ubuntu!The following packages will be REMOVED: gksu guitarpro6:i386 libgksu2-0 libpam-gnome-keyring sudo ubuntu-desktop ubuntu-minimal update-manager update-notifier xauth xinit xorgsudo ? update-manager ?? X! O que os desenvolvedores estão pensando ?! Também faz
apt-get
pensar que um monte de pacotes i386 estão instalados quando nenhum deles foi. Aqui está a pasta completa gory.
Instale o GuitarPro com segurança sem apt-get
, querendo removê-lo
- Eu acredito que o comportamento acima vem da dependência estúpida do deb em
gksu:i386
(que é o pacote de elevação da raiz gráfica) - Infelizmente, a única maneira segura de instalar este e não tem que lidar com o
apt-get
de lamentar é manualmente instalá-lo e suas dependências. Veja como:
Como examinar manualmente e instalar com segurança um binário i386 deb com suas dependências
- Primeiro, remova a meia-embalagem atual compactada com
sudo dpkg --remove guitarpro:i386
- Agora, mude para o diretório em que seu arquivo deb está armazenado. Para facilitar a digitação, vamos criar um link simbólico curto - meu deb chamado
gp6-full-linux-demo-r11100.deb
, o seu pode ser diferente:-
ln -s gp6-full-linux-demo-r11100.deb gp6.deb
-
1. Examine a arquitetura e as dependências do deb
Primeiro, examinamos as dependências do deb sem instalá-lo.
-
dpkg-deb -I gp6.deb
nos mostra:new debian package, version 2.0. size 172147458 bytes: control archive= 75020 bytes. 375 bytes, 10 lines control
335109 bytes, 2770 lines md5sums
Package: GuitarPro6 Version: 6.1.3 Section: non-free/audio Priority: optional Architecture: i386 Depends: libc6 (>= 2.1.3), libstdc++6, libasound2, libxml2, libxslt1.1, libportaudio0, libportaudio2, libglu1-mesa, gksu, libssl0.9.8 Installed-Size: 222632 Maintainer: Arobas Music Description: http://www.guitar-pro.com Guitar Pro 6, Linux Version. -
Portanto, este é um aplicativo i386 e todas as suas dependências também serão i386.
- A primeira coisa a fazer é instalar o pacote de compatibilidade
ia32-libs
i386, se você ainda não tiver:-
sudo apt-get install ia32-libs
-
- Vamos também copiar e colar as dependências do pacote em um arquivo de texto, para mais tarde.
2. "Extraia" o deb em um arquivo tar e examine seu conteúdo
- Vamos extrair o deb para um arquivo tar agora para que possamos examinar seu conteúdo sem precisar instalá-lo:
-
dpkg-deb --fsys-tarfile gp6.deb > gp6.tar
-
-
Abra o gerenciador de arquivos (Nautilus) e monte o arquivo
gp6.tar
como um arquivo clicando com o botão direito e selecionando Open in Archive Mounter ; depois , você verágp6.tar
adicionado ao final da barra lateral esquerda, com um ícone de ejeção ao lado dele: -
Vá para o menu Visualizar para o Gerenciador de arquivos e altere a Barra lateral para a opção de exibição Árvore em vez de Lugares :
-
Agora, expanda a árvore
gp6.tar
na barra lateral clicando nos triângulos; repita para cada nível até que você possa ver a estrutura de pastas do arquivo: -
Da estrutura, vemos que os arquivos do programa são divididos em dois locais:
/opt
e/usr/share
:- Tudo o que entra em
/opt
é autônomo e não afeta mais nada no sistema. - Observamos que
/usr/share
contém apenas ícones / bitmaps, que são inofensivos.
- Tudo o que entra em
3. Se for seguro, "instale" o programa extraindo o arquivo tar
-
Volte para o terminal e verifique se você está no diretório que contém os arquivos deb / tar baixados. Então digite:
sudo tar -C / -xvf gp6.tar
-
Isso extrairá os arquivos do programa nos locais apropriados, mostrando os nomes e o andamento dos arquivos. ( Exemplo de saída )
- A opção
-C
informatar
para executar esta operação em relação ao diretório raiz, não ao diretório atual.
- A opção
4. Descubra quais dependências estão faltando com ldd
, instale-as e balance-and-roll!
-
Abra a pasta
/opt/GuitarPro6
no Gerenciador de arquivos:- Vemos que o executável é chamado GuitarPro (com o ícone "gears" de diamantes) e também que muitos arquivos
lib-xxxx
estão incluídos na pasta. - Isso é normal para programas somente binários; eles tentam incluir as versões das bibliotecas específicas de que precisam, pois podem não estar disponíveis nos repositórios de uma distribuição específica.
- Vemos que o executável é chamado GuitarPro (com o ícone "gears" de diamantes) e também que muitos arquivos
-
Além dessas bibliotecas incluídas e do pacote
ia32-libs
, a maioria das dependências de 32 bits deveria ter sido instalada. Em vez de instalar cegamente as dependências que vimos nas informações do arquivo deb viaapt-get
- o que pode causar problemas - vamos descobrir se estamos realmente faltando alguma coisa.- Volte para o terminal e mude para o diretório GuitarPro com
cd /opt/GuitarPro6
- Volte para o terminal e mude para o diretório GuitarPro com
Usando ldd
-
Digite
ldd GuitarPro | grep found
e a saída serálibportaudio.so.2 => not found
-
ldd
imprime as dependências (bibliotecas compartilhadas) de um programa e se elas existem ou não no sistema. Veja como é a saída completa do GuitarPro. - Para facilitar a vida, simplesmente filtramos os que não existem por meio de
grep found
.
-
-
Aqui, apenas a biblioteca libportaudio2 está ausente. Mas as dependências disseram libportaudio 0 ? (veja o passo 1.) Qual é?
- Vamos procurar as versões disponíveis usando
apt-cache search libportaudio
do terminal. - Isso nos diz que ambos
libportaudio2
elibportaudio0
pacotes estão disponíveis. Vamos instalar o 2 primeiro, comsudo apt-get install libportaudio2:i386
- A parte : i386 é muito importante , já que nosso programa é de 32 bits. Se
apt-get
pedir para substituir / removerlibportaudio2
e / ou outros arquivos, tudo bem, porque algumas bibliotecas não podem ser instaladas simultaneamente nas versões de 32 e 64 bits.
- Vamos procurar as versões disponíveis usando
-
Vamos verificar novamente as dependências uma última vez:
ldd GuitarPro6 | grep found
nos dá nada (é isso que queremos!)- Se você receber o erro
./GuitarPro: /opt/GuitarPro6/./libz.so.1: version ZLIB_1.2.3.3 not found (required by /usr/lib/i386-linux-gnu/libxml2.so.2)
, isso significa que o Guitar Pro está usando uma versão errada da libz , corrija isto removendo o arquivo libz.so.1 do diretório GuitarPro6:sudo rm libz.so.1
O Guitar Pro voltará à versão de libz do seu sistema.
- Se você receber o erro
-
Saia do terminal e volte para a pasta
/opt/GuitarPro6
no Gerenciador de arquivos. Clique duas vezes em GuitarPro e ... -
Limpe a pasta Download excluindo o arquivo tar do Gerenciador de arquivos.
5. O atalho do iniciador já foi adicionado
-
Como o pacote já continha um atalho
GuitarPro6.desktop
que foi extraído para/usr/share/applications
, não é necessário criá-lo manualmente. Está sentado lá no Launcher: