Sunday, March 25, 2007

Utilizando o Installwatch

Para quem usa Slackware, Debian ou RedHat um ótimo software para se usar na hora de instalar programas a partir do código fonte é o checkinstall, ele gera um pacote com o software sendo compilado para que depois possa ser instalado/desinstalado com facilidade,

A maior utilidade desse software para mim é a facilidade de desinstalação.
Porém agora estou utilizando o gentoo, pois foi a melhor distro que encontrei para 64 bits.

Por causa disso descobri que o checkinstall é baseado em um outro software chamado installwatch, que faz toda a parte de gerenciamento dos arquivos que estão sendo instalados.
Depois de muito tempo procurando pelo installwatch pela internet eu descobri que ele se encontra no próprio fonte do checkinstall,

Então para se instalar façamos o seguinte:

Baixe o checkinstall: http://asic-linux.com.mx/~izto/checkinstall/
E faça o seguinte:
$ tar xvfz checkinstall-1.6.0.tgz
$ cd checkinstall-1.6.0/installwatch-0.7.0beta4/
$ make
# make install

Agora crie os diretórios onde teremos informações dos pacotes instalados e removidos:
# mkdir /var/{install,uninstall}

E pronto, agora sempre que compilar um pacote, ao invés de utilizar o famoso "make install", use:

# installwatch -o /var/install/NOME_DO_SOFTWARE make install

E pronto, será criado um arquivo em /var/install com o nome do software instalado e informação de todos arquivos criados,

Para facilitar o processo de instalação pode-se criar um alias:
# alias iw='installwatch -o /var/install/$(basename $(pwd))'

A linha acima pode ser adicionada ao arquivo /etc/profile, para que tenhamos esse alias sempre que iniciarmos uma sessão, apenas note que o nome do arquivo que ficará no diretório /var/install é o nome do diretório onde você se encontra, tome os devidos cuidados para não estar num diretório com o nome incorreto ou com o nome que pode sobrescrever a informação de outro pacote previamente instalado, particularmente eu tive apenas esse "problema" quando compilando pacotes cvs que tinham o diretório "trunk".

E ao invés de digitar toda a enorme linha acima para se instalar o pacote é só utilizar:
# iw make install

Para se desinstalar podemos utilizar o script nuke da seguinte forma:

# nuke /var/install/NOME_DO_SOFTWARE

Segue um link para o script nuke.

Um muito obrigado aos criadores desses softwares! Meu sistema estaria cheio de lixo sem eles!