Mostrando postagens com marcador instalação de pacotes debian. Mostrar todas as postagens
Mostrando postagens com marcador instalação de pacotes debian. Mostrar todas as postagens

sábado, 12 de fevereiro de 2011

Debian - Dependências na compilação com auto-apt

Mesmo com os atuais 29.000 pacotes disponíveis no site do Debian muitas vezes precisamos instalar algum pacote à moda antiga (./configure, make, make install), o problemas é que mesmo depois de ter instalado os pacotes básicos necessários para compilar programas (build-essential, make, etc...) ainda nos deparamos com dependências não resolvidas. Ai instala-se mais um pacote tenta novamente, mais outra depedência, e assim por diante. Entretanto existe uma solução quase que infalível, o auto-apt. para desfrutar dessa força amiga proceda da seguinte forma logado com o usuário root:

apt-get install auto-apt

Vai demorar um pouquinho, dependendo do que você já tenha instalado relativo aos pacotes necessário, pode chechar a algo em torno de 74 MB.

Na sequência digite os seguintes comandos:

# auto-apt update-local
# auto-apt update
# auto-apt updatedb

Concluído o processo preparatório do auto-apt você já poderá utilizar quando for instalar programas a partir dos pacotes fontes use o auto-apt da seguinte forma:

# auto-apt -y run ./configure
# auto-apt -y run make
# auto-apt run make install

sexta-feira, 7 de maio de 2010

APT - Repositório Local

Montando um repositório local apt com o dpkg-scanpackages.

Muitas vezes precisamos de um repositório local para aliviar nossa banda de Internet, o bom é que podemos utilizar um repositório local da mesma forma que os repositórios localizados em ftps e mirrors do debian, e ao invés dos computadores da rede ir buscar pacotes na Internet buscará na rede local.

O seguinte pacote deve está instalado: dpkg-dev_1.14.25_all.deb ou uma versão mais atualizada.

Para montar seu repositório você deve copiar os pacotes para um diretório, digamos, dentro do diretório /home. Crie os diretórios /home/apt/main e copie todos os pacotes que você deseja instalar pra ele. Vamos ao trabalho:

Para copiar os arquivos .deb do CD de instalação use a sequência de comandos:

[/root]# cd /home/apt/main
[/root]# find /media/cdrom/pool/ -iname '*.deb' -exec cp -i {} . \;

O comando a ser usado agora é o dpkg-scanpackages. Você precisará criar um arquivo para auxiliar no processo de criação do arquivo Packages.gz – arquivo que guarda as definições de pacotes e que será lido quando você fizer executar o comando apt-get update –. Este arquivo auxiliar pode estar vazio. dentro do diretório /home/apt/:

[/root]# touch /home/apt/arquivo

Agora o processo efetivo de criação do arquivo Packages.gz:

[/root]# dpkg-scanpackages main arquivo | gzip > main/Packages.gz

Agora é só adicionar no /etc/sources.list a linha: deb file:/home/apt main/ Use o comando:

[/root]# echo 'deb file:/home/apt main/' >> /etc/apt/sources.list

Para complementar acrescentar, se você for usar apenas o repositório local, acrescente o seguinte parâmetro ao arquivo /etc/apt/apt.conf
“APT::Get::AllowUnauthenticated 1 ;” para que não apareça a mensagem: AVISO: Os pacotes a seguir não podem ser autenticados. Caso este arquivo não exista você poderá criá-lo.

Sequência de comandos:

[/root]# mkdir -p /home/apt/main
[/root]# apt-get install dpkg-dev
[/root]# cd /home/apt /main
[/root]# find /media/cdrom/pool/ -iname '*.deb' -exec cp -i {} . \;
[/root]# cd /home/apt
[/root]# touch arquivo
[/root]# dpkg-scanpackages main arquivo | gzip > main/Packages.gz
[/root]# echo 'deb file:/home/apt main/' >> /etc/apt/sources.list
[/root]# echo 'APT::Get::AllowUnauthenticated 1 ;' >> apt.conf
[/root]# apt-get update

Caso prefira usar seu repositório via http, possibilitando o uso via rede, é só instalar o apache2 e criar um link simbólico do diretório /home/apt para /var/www/. Exemplo:

[root]# ln -s /home/apt /var/www/apt

E no /etc/apt/souces.list mude a linha deb file:/home/apt main/ para deb http://ip_do_pc_repositório/apt main/

[/root]# echo 'deb http://ip_do_pc_repositório/apt main/' >> /etc/apt/sources.list