Como saber nome de pacotes?

Iniciado por imdm94, 31 de Outubro de 2009, 21:41

tópico anterior - próximo tópico

imdm94

Olá, pessoal,

meu 1º tópico :D

Recentemente tive uns problemas com alguns pacotes faltando:

No package 'glib-2.0' found
No package 'atk' found
No package 'pango' found
No package 'cairo' found

Baixei-os da internet e comecei a compilá-los com os comandos:

./configure
make
make install

No final só faltou este:

No package 'pango' found

Que sempre que eu mandava instalar um pacote ele dizia que precisava de outro até que eu desisti de tanto erro que aparecia.

No fim, procurei no google uma mensagem de erro que aparecia e achei uma pessoa que teve o mesmo problema que eu e que resolveu só com uma linha de apt-get. Sem precisar compilar nada. (axo que a Google resolveu brincar comigo na hora). A linha era:

sudo apt-get install libpango1.0-dev libatk1.0-dev libcairo2-dev libglib2.0-dev

Perfeito! Até aí sem problema. Mas o problema é que eu não consigo entender como eu posso saber que o package do pando é libpango1.0-dev; que o do atk é libatk1.0-dev; como o do cairo é libcairo2-dev. Ou seja, como eu associo o nome ao pacote? Tem alguma dica, algum truque?

Agradeço a atenção de todos.

Obs: Quando eu vou no Synaptic pesquisar pelo nome, exemplo: pango. Aparece um monte de packages não instalados e instalados. Como que vou saber qual que eu devo instalar?

Adriano R.N.

Camarada, boa madrugada!
Instale o primeiro pacote com o nome que você quer.
Ex: Se você procura pelo "Samba"
Digite samba na "lupa procurar" do Synaptic, virá uma lista grande, procure a primeira opção como o nome "samba", deixe que o Synaptic informará as pendências.
Não sei de onde você baixou os arquivos, porém, é completamente desaconselhável usar programas não oficiais (principalmente os do baixaki e superdawnload).

Se você tem interesse em ampliar os repositórios do Ubuntu uma dica para o ubuntu 9.04 é:

1 Ampliar os repositórios
1.1 – Abra o Terminal pelo caminho:
Aplicativos> Acessórios> Terminal (sempre que ele pedir a senha nada aparecerá enquanto digita)
1.2 – Digite:
wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -
1.3 – Depois digite:
sudo gedit /etc/apt/sources.list
1.4 – No arquivo que abrir, cole no final as linhas:
deb http://packages.medibuntu.org/ jaunty free non-free
deb-src http://packages.medibuntu.org/ jaunty free non-free
1.5 – Depois salve o arquivo.
1.6 – Vá em:
Sistema > Administração > Gerenciador de Pacotes Synaptic
Clique em Recarregar e pronto.

Boa sorte e Muito AXÉ!!!

imdm94

Citação de: Adriano R.N. online 01 de Novembro de 2009, 04:34
Camarada, boa madrugada!
Instale o primeiro pacote com o nome que você quer.
Ex: Se você procura pelo "Samba"
Digite samba na "lupa procurar" do Synaptic, virá uma lista grande, procure a primeira opção como o nome "samba", deixe que o Synaptic informará as pendências.
Não sei de onde você baixou os arquivos, porém, é completamente desaconselhável usar programas não oficiais (principalmente os do baixaki e superdawnload).

Se você tem interesse em ampliar os repositórios do Ubuntu uma dica para o ubuntu 9.04 é:

1 Ampliar os repositórios
1.1 – Abra o Terminal pelo caminho:
Aplicativos> Acessórios> Terminal (sempre que ele pedir a senha nada aparecerá enquanto digita)
1.2 – Digite:
wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -
1.3 – Depois digite:
sudo gedit /etc/apt/sources.list
1.4 – No arquivo que abrir, cole no final as linhas:
deb http://packages.medibuntu.org/ jaunty free non-free
deb-src http://packages.medibuntu.org/ jaunty free non-free
1.5 – Depois salve o arquivo.
1.6 – Vá em:
Sistema > Administração > Gerenciador de Pacotes Synaptic
Clique em Recarregar e pronto.



Cara, você é mara! Perfeita a sua resposta. Gostei dessa de aumentar os repositórios, mas. Eu fui lá Gerenciador de Pacotes Synaptic para ver se era mesmo isso de 1º pacote da lista. Digitei lá por 'pango', mas o que eu instalei e deu certo naum era o 1º. Também fui ver se quando eu mandava instalar esse 1º ele instalava o resto, mas também não ocorreu. Ele só disse que ia instalar um pacote. Será que os que eu quero instalar precisam ter aquele '-dev' no final? Será que é isso? Agora falando da sua explicação. Perfeita! Gostei do passo a passo, mas para evitar fadiga sua, não precisa se preocupar com os detalhes não. Porque eu já sei um pouquinho mexer em Ubuntu. Esqueci de falar que eu já sabia mexer um poko em terminal, essas coisas. Acabei te dando mais trabalho.  :-[ Desculpa.

Adriano R.N.

imdm94, boa tarde!
Não se preocupe com o passo-a-passo, é coisa de professor.
Os pacotes que você quer instalar estão em qual formato (.deb / zip / bin...)W
Com a ampliação do repositório não dá para instalar via Synaptic?
Uma coisa, se o Synaptic não apresentar pendências, em geral é porque não existe ou não são essenciais.
Boa sorte e Muito AXÉ!!!

imdm94

Citação de: Adriano R.N. online 01 de Novembro de 2009, 16:42
imdm94, boa tarde!
Não se preocupe com o passo-a-passo, é coisa de professor.
Os pacotes que você quer instalar estão em qual formato (.deb / zip / bin...)W
Com a ampliação do repositório não dá para instalar via Synaptic?
Uma coisa, se o Synaptic não apresentar pendências, em geral é porque não existe ou não são essenciais.

Olá novamente,

não sei os formatos. Mas o que eu não sei é: se aparece: Falta A. Vou lá no Synaptic e procuro por A. Só que aparecem muitos pacotes e não sei qual instalar. No caso do Pango, consigui instalar com sucesso, mas não era o 1º pacote da lista quando procurei por Pango. Resumindo, minha dúvida é: como eu vou saber dentro de toda aquela lista do Synaptic qual o pacote certo para instalar? Ex: Digitei para procurar por pango e apareceu uns 100 pacotes. Como vou saber qual deles instalo?

Adriano R.N.

Olá novamente,

não sei os formatos. Mas o que eu não sei é: se aparece: Falta A. Vou lá no Synaptic e procuro por A. Só que aparecem muitos pacotes e não sei qual instalar. No caso do Pango, consigui instalar com sucesso, mas não era o 1º pacote da lista quando procurei por Pango. Resumindo, minha dúvida é: como eu vou saber dentro de toda aquela lista do Synaptic qual o pacote certo para instalar? Ex: Digitei para procurar por pango e apareceu uns 100 pacotes. Como vou saber qual deles instalo?
[/quote]

Aparecem várias opções de pacotes, porém, você segue a ordem alfabética que verá o que está procurando.
No 9.04 tem também um outro buscador, (fica ao lado da lupa), parece que com este a busca é mais detalhada/específica.
Para saber os formatos dos pacotes baixados da internet é só ver o que vem depois do "."(ponto), em geral são .deb .tar.gz ou .bin

Estou entendendo que sua dúvida já foi resolvida. Se sim, então coloque resolvido no título do tópico, se não, vamos dialogando.
Boa sorte e Muito AXÉ!!!

imdm94

Citação de: Adriano R.N. online 01 de Novembro de 2009, 17:52
Olá novamente,

não sei os formatos. Mas o que eu não sei é: se aparece: Falta A. Vou lá no Synaptic e procuro por A. Só que aparecem muitos pacotes e não sei qual instalar. No caso do Pango, consigui instalar com sucesso, mas não era o 1º pacote da lista quando procurei por Pango. Resumindo, minha dúvida é: como eu vou saber dentro de toda aquela lista do Synaptic qual o pacote certo para instalar? Ex: Digitei para procurar por pango e apareceu uns 100 pacotes. Como vou saber qual deles instalo?

Aparecem várias opções de pacotes, porém, você segue a ordem alfabética que verá o que está procurando.
No 9.04 tem também um outro buscador, (fica ao lado da lupa), parece que com este a busca é mais detalhada/específica.
Para saber os formatos dos pacotes baixados da internet é só ver o que vem depois do "."(ponto), em geral são .deb .tar.gz ou .bin

Estou entendendo que sua dúvida já foi resolvida. Se sim, então coloque resolvido no título do tópico, se não, vamos dialogando.
[/quote]

Na verdade ainda estou com a dúvida. A dúvida é: como eu vou saber qual o pacote certo? Por exemplo, o pacote para instalar o pango com o apt-get não é sudo apt-get install pango, mas sim sudo apt-get install libpango1.0-dev. A dúvida é exatamente isto: como eu posso saber que o pacote pra instalar o pango é libpango1.0-dev e não ou outros pacotes?

Adriano R.N.

Neste momento estou com Ubuntu 9.10, digitei libpango1.0-dev na busca rápida do synaptic e ele apareceu para instalação.
Veja que estou indicando apenas via synaptic, com isso fica mais fácil.
Boa sorte e Muito AXÉ!!!

imdm94

Citação de: Adriano R.N. online 01 de Novembro de 2009, 19:33
Neste momento estou com Ubuntu 9.10, digitei libpango1.0-dev na busca rápida do synaptic e ele apareceu para instalação.
Veja que estou indicando apenas via synaptic, com isso fica mais fácil.

Certo, mas a minha dúvida é como saber que o pacote pra instalar o pango é esse libpango1.0-dev.

imdm94


Darcamo

Todos esses pacotes que você mencionou (glib, atk, pango e cairo) são bibliotecas que outros programas usam (umas das grandes vantagens do open source é justamente poder reaproveitar ao invés de reinventar). Essas bibliotecas em particular são bem comuns e usadas por diversos programas no mundo Linux. Você não mencionou, mas provavelmente estava tentando compilar algum outro pacote que precisava dessas bibliotecas né? Instalar um programa compilando é a maneira mais difícil e normalmente quem faz isso já tem um conhecimento de Linux um pouco maior e por isso é que parece complicado, mas entender um pouco o que os "pedaços" dos nomes dos pacotes significam facilita muito.

Vamos tomar como exemplo a biblioteca glib. Se você procurar por glib no synaptic vai aparecer um bocado de coisa. Normalmente o nome do pacote de uma bibliotecas é libNOME_DA_BIBLIOTECA_alguma_coisa. Dessa forma, você não está interessado no pacote libdbus-glib-1-dev que aparece na busca, por exemplo (esse seria útil no caso de você estar interessado no dbus).

Ok, vamos então ver os pacotes com nome libglib* (já limitou um bocado né). Você encontra libglib2.0-0, libglib2.0-0-dbg, libglib2.0-0-refdbg, libglib2.0-cil, libglib2.0-data, libglib2.0-dev, libglib2.0-doc, libglibmm-2.4-dev, dentre diversos outros.

Pacotes com o nome como libglib2.0-0 (lib_biblioteca_versão) são a biblioteca para quem apenas vai rodar programas que usam essa biblioteca (esse pacote em particular com certeza já está instalado pois é utilizado por diversos programas). Pacotes com o nome contendo "-doc" são de documentação e você não precisa instalar, assim como os pacotes com nome contendo "-dbg" que são apenas para quem quer debugar a biblioteca. O que você realmente precisa instalar para compilar programas que pedem essa biblioteca são os pacotes contendo "-dev" no nome. Esses não vem instalados porque a maioria das pessoas pode instalar os programas já compilados pelo synaptic e os pacotes "-dev" só ocupariam espaço a toa. Sabendo disso, restam então apenas três pacotes possíveis: libglib2.0-dev, libglib2.0-dev e libglibmm-utils-dev. Vai depender agora de qual é utilizado pelo programa que você quer compilar. Os que tem "mm" no nome são a versão "para C++" da biblioteca glib. Eu começaria instalando apenas o libglib2.0-dev. Se você ainda tiver erros dando falta da glib e/ou a mensagem de erro disser que está faltando a biblioteca glibmm aí é que você instala os outros dois.

Por último, programas feitos em outras linguagens como perl, ruby, etc, normalmente precisam das respectivas versões da glib correspondendo aos pacotes libglib-perl e libglib2-ruby, respectivamente. Esses não tem o "-dev" porque essas linguagens não são compiladas, mas sim interpretadas. Logo, você volta ao caso em que quer apenas rodar um programa que usa essa biblioteca (ao invés de compilá-lo) e é por isso que não tem pacote "-dev" nesses casos. No caso de python também é comum encontar pacotes com nome python-nome_da_biblioteca (da mesma forma sem o "-dev").

imdm94

Citação de: Darcamo online 02 de Novembro de 2009, 16:57
Todos esses pacotes que você mencionou (glib, atk, pango e cairo) são bibliotecas que outros programas usam (umas das grandes vantagens do open source é justamente poder reaproveitar ao invés de reinventar). Essas bibliotecas em particular são bem comuns e usadas por diversos programas no mundo Linux. Você não mencionou, mas provavelmente estava tentando compilar algum outro pacote que precisava dessas bibliotecas né? Instalar um programa compilando é a maneira mais difícil e normalmente quem faz isso já tem um conhecimento de Linux um pouco maior e por isso é que parece complicado, mas entender um pouco o que os "pedaços" dos nomes dos pacotes significam facilita muito.

Vamos tomar como exemplo a biblioteca glib. Se você procurar por glib no synaptic vai aparecer um bocado de coisa. Normalmente o nome do pacote de uma bibliotecas é libNOME_DA_BIBLIOTECA_alguma_coisa. Dessa forma, você não está interessado no pacote libdbus-glib-1-dev que aparece na busca, por exemplo (esse seria útil no caso de você estar interessado no dbus).

Ok, vamos então ver os pacotes com nome libglib* (já limitou um bocado né). Você encontra libglib2.0-0, libglib2.0-0-dbg, libglib2.0-0-refdbg, libglib2.0-cil, libglib2.0-data, libglib2.0-dev, libglib2.0-doc, libglibmm-2.4-dev, dentre diversos outros.

Pacotes com o nome como libglib2.0-0 (lib_biblioteca_versão) são a biblioteca para quem apenas vai rodar programas que usam essa biblioteca (esse pacote em particular com certeza já está instalado pois é utilizado por diversos programas). Pacotes com o nome contendo "-doc" são de documentação e você não precisa instalar, assim como os pacotes com nome contendo "-dbg" que são apenas para quem quer debugar a biblioteca. O que você realmente precisa instalar para compilar programas que pedem essa biblioteca são os pacotes contendo "-dev" no nome. Esses não vem instalados porque a maioria das pessoas pode instalar os programas já compilados pelo synaptic e os pacotes "-dev" só ocupariam espaço a toa. Sabendo disso, restam então apenas três pacotes possíveis: libglib2.0-dev, libglib2.0-dev e libglibmm-utils-dev. Vai depender agora de qual é utilizado pelo programa que você quer compilar. Os que tem "mm" no nome são a versão "para C++" da biblioteca glib. Eu começaria instalando apenas o libglib2.0-dev. Se você ainda tiver erros dando falta da glib e/ou a mensagem de erro disser que está faltando a biblioteca glibmm aí é que você instala os outros dois.

Por último, programas feitos em outras linguagens como perl, ruby, etc, normalmente precisam das respectivas versões da glib correspondendo aos pacotes libglib-perl e libglib2-ruby, respectivamente. Esses não tem o "-dev" porque essas linguagens não são compiladas, mas sim interpretadas. Logo, você volta ao caso em que quer apenas rodar um programa que usa essa biblioteca (ao invés de compilá-lo) e é por isso que não tem pacote "-dev" nesses casos. No caso de python também é comum encontar pacotes com nome python-nome_da_biblioteca (da mesma forma sem o "-dev").

O.O Incrível sua resposta. Acabou com minha dúvida e provavelmente com muitas outras que eu teria. Só tenho a agradecer. Muitíssimo obrigado mesmo. Pode trancar. Solucionado. Brigadão ae pessoal.  :D

Darcamo


Welligton_jr

Boa noite

Eu venho usando linux Ubuntu há quase um ano. Acabo de instalar a nova versão, karmic koala, mas tem um problema  que eu não consigo resolver/entender até hj.

Sempre que vou compilar um programa baixo o pacote *.tar.gz, descompacto em uma pasta, vou no terminal e começo a receitinha de bolo:

$ ./configure    ==> aí aparece uma porrada de linha cheia de yes e no
$ make            ==> as vezes nada acontece e me aparece uma mensagem de erro
#make install ==> menos ainda.

A questão é a seguinte: eu sei que para se compilar um programa tem que ter algumas biliotecas, dependencias, ou sei lá qual a melhor forma de chamar isso. O problema é  que eu nunca sei quais bibliotecas ou dependencias eu devo ter instalado para poder compilar sem problemas. Costumo ler o arquivo readme que vem junto com o pacote, lá fala algo sobre as dependencias mas nao é mto esclarecedor. Por exemplo:

Neste momento estou tentando compilar o audacious 2.1. No arquivo readme que vem com o pacote diz:
===========================================================
Audacious requires the following libraries and their development
packages installed:

  Glib 2.14.0
    http://www.gtk.org/download/

  GTK+ 2.10.0
    http://www.gtk.org/download/

  mcs >= 0.7
    http://www.atheme.org/projects/mcs.shtml

  libmowgli >= 0.4
    http://www.atheme.org/projects/mowgli.shtml

  GNU Make >= 3.80
========================================================
Quando eu tento achar e instalar essas dependencias, ele continua dando erro. Só consegui utilizando o comando:

$ apt-get build-dep audacious

E o comando me retornou umas 90 bibliotecas para baixar, quando no arquivo readme só tinha aquelas q postei. Sempre que busco ajuda para compilar arquivos em sites, o autor da ajuda ja fala quais as dependencias instalar, mas como ele sabe disso? como ele descobre quais dependencias?

Alguem poderia me explicar como que eu faço pra saber quais dependencias instalar quando for compilar um pacote, tem escrito em algum lugar?

Muito Obrigado

Darcamo

Quando ele fala o nome de uma biblioteca, o nome do pacote correspondente pode variar um pouco de distribuição para distribuição. Leia o tópico que escrevi acima que deve ajudar.