Notícia publicada por brain em maio 23, 2004 02:53 PM
| TrackBack
Daniel Zilli (danielzilli@superip.com.br) enviou este link do tutorial que ele publicou no site do Linux From Scratch e acrescentou: "A maravilha do código-fonte é o controle que você tem sobre ele; instalar software pelo código-fonte é uma obrigação para todo 'grande' usuário, mas desinstalar é grande um problema. Fiz várias buscas para encontrar um método fácil e eficiente para desinstalar programas, mas infelizmente não obtive sucesso. Assim eu decidi fazer algo por contra própria.. Escrevi um hint para a comunidade LFS (www.linuxfromscratch) que também quero compartilhar com todos vocês. Gerenciar pacotes instalados via código-fonte nunca foi tão fácil. Espero que gostem!"
Eu sou fã de gerenciadores de pacotes, mas concordo que todo uduário avançado precisa saber instalar a partir dos fontes, já que às vezes realmente não há alternativas. Além do método descrito pelo Daniel Zilli, outra possibilidade é usar o checkinstall, apresentado por mim na primeira edição da Coluna Software (na edição 17 da Revista do Linux) e recentemente apresentado pelo Manoel Pinho assim: "Quando não consigo um .src.rpm, eu uso mesmo é o programa checkinstall: http://asic-linux.com.mx/~izto/checkinstall/. Eu dou o ./configure; make e, em vez do make install, dou o comando checkinstall, que gera rpms, debs ou .tgz (Slack) com o conteúdo correspondente aos arquivos que seriam instalados pelo make install. Assim posso mais tarde remover o programa simplesmente removendo o pacote, além das possibilidades de consulta aos pacotes."
Gostaria de lembrar de uma outra maneira talvez até mais fácil (para as distros que já usam rpm) de otimizar ou atualizar pacotes de programas:
Recompilar o pacote a partir do src.rpm.
Ao se instalar um src.rpm, os fontes do programa em questão são colocados em /usr/src/rpm/SOURCES e um pacote de nome "programa".spec colocado em /usr/src/rpm/SPECS.
Editando-se este arquivo spec, pode-se alterar as opções de compilação, aplicar patches, em resumo: fazer tudo que seria possível compilando-se o programa da maneira mais tradicional.
Para recompilar o pacote é necessário ter o rpm-build instalado. Então basta entrar na pasta SPEC e executar como root: rpm -ba pacote.spec
Os novos rpm's serão criados em /usr/src/rpm/RPM/"arquitetura escolhida"/
É muito importante manter a integridade de sua base rpm. Um arquivo instalado diretamente do tar.gz não é adicionado à base rpm, portanto não poderá ser usado como dependência dentro do sistema. Sempre crie o pacote rpm, ou usando o src.rpm (se disponível) ou então com o checkinstall.
Alias, gostaria de perguntar qual o equivalente do debian para o src.rpm?
Marcelo,
O formato .deb não tem "pacotes fonte" como o rpm. Ao invés disso, o "pacote fonte" é na verdade um trio formato pelo .tar.gz do fonte original, um patch também em tar.gz (ou tar.bz2) e mais o arquivo de controle "dsc" (contém alguns metadados). A maioria dos metadados, incluindo as opções de compilação, não estão no arquivo .dsc mas sim no patch (um diretório "debian" é criado com os arquivos de controle necessários, quando se aplica o patch).
Um exemplo, o pacote do anjuta no debian stable: http://packages.debian.org/stable/source/anjuta
A propósito, quanto a instalação de fontes, talvez o sistema mais efetivo para isto seja o adotado pelos ports dos *BSD e o portage do gentoo. O "sistema de pacotes", pode-se assim dizer, é todo construído em cima da assunção que haverá o código-fonte.
Só adicionando, existe um projeto que porta o jeito Gentoo de compilação de pacotes para o Debian, o Debtoo:
http://www.debtoo.org/
Comentários desativados: Esta discussão é antiga e foi arquivada, não é mais possível enviar comentários adicionais.