Será que é tão difícil assim instalar programas no Slackware?

Publicado: 19/01/2011 em informática, Uncategorized
Tags:, , , , , , , , ,

Quando comecei a “mexer” com Linux em ~1997, instalar pacotes era uma das tarefas mais difíceis. Mas com o tempo surgiu o rpm da RedHat, o apt-get do Debian e as coisas se tornaram muito mais fáceis.

Hoje eu considero mais fácil instalar programas no Linux do que no famoso Windows. Pois, no Windows você tem que procurar o programa, baixar da Internet e instalar. Na maioria dos casos temos ainda que crackear o software (pois ele deve ser pago) e isto gera problemas: a procura por cracks geralmente infecta a máquina com vírus e softwares maliciosos de todos os gêneros; e muita gente hoje está consciente e não vai querer utilizar software crackeado, já que é crime! Já no Linux você pode simplesmente utilizar uma interface gráfica instalada por padrão junto com a distribuição e digitar o nome do software, descrição ou funcionalidade que esta ferramenta vai “baixar” o software para você da Internet, instalar e pré-configurar. A grande maioria das distribuições Linux tem este tipo de ferramenta, tal como: Ubuntu, CentOS, Redhat, Debian, Suse, etc que são bem mais simples de usar do que o Windows e sem muitos riscos de softwares maliciosos e ilegais.

Em algumas distribuições Linux a instalação se dá de forma automática (como descrito anteriormente), mas além disso ao invés da ferramenta de instalação “baixar um pacote pré-compilado”, essa baixa o código fonte do programa e compila para o seu computador. Isto pode optimizar o software e melhorar a performance da máquina. Além de algumas distribuições Linux tal como: Arch e Gentoo que possui este tipo de recurso. Os BSD’s também possuem este tipo de recurso (por exemplo o ports do FreeBSD) e são excelentes.

Algumas distribuições Linux tem uma má reputação para instalação de pacotes, muita gente diz:

“Ah, é muito difícil instalar programas nesse Linux!!!”

Uma dessas afamadas é o Slackware Linux. Mas isto não é bem verdade e vamos tentar desmistificar isto neste Post.

Instalação de Pacotes no Slackware

Vamos ver três tipos de instalações no Slackware:

Via installpkg baixando o arquivo tgz de um site de pacotes Slackware:

O instalador de pacotes padrão no Slackware é o comando installpkg. Um bom lugar para se baixar um software e instalar via installpkg é no site www.linuxpackages.net (existem outros sites é só procurar) é só entrar lá procurar pelo software, baixar e depois digitar o seguinte comando:

# installpkg softwareBaixado.tgz

Vamos por exemplo instalar o programa htop:

1. Entramos no site e escolhemos o pacote, repare que eu pedi para ver o pacote para qualquer (any) versão do Slack (geralmente não faz muito diferença a versão, mas tente pegar sempre as últimas):

2 – Escolha o pacote e veja a sua arquitetura (o tipo do computador, x86 ou x86_64) e por fim escolha um servidor para baixar o mesmo:

3 – Faça o download, no meu caso vai para a parte /home/luiz/Downloads, que é o padrão do Firefox:

4 – Agora é só abrir um console como root e instalar:

installpkg /home/luiz/Downloads/htop-0.9-x86_64-1_SBo.tgz
Verifying package htop-0.9-x86_64-1_SBo.tgz.
Installing package htop-0.9-x86_64-1_SBo.tgz:
PACKAGE DESCRIPTION:
# htop (Interactive process viewer)
#
# This is htop, an interactive process viewer for Linux. It is a text-
# mode application (for console or X terminals) and requires ncurses.
# htop has been tested with Linux 2.4 and 2.6 kernels.
#
# Homepage: http://htop.sourceforge.net/
#
#
Executing install script for htop-0.9-x86_64-1_SBo.tgz.
Package htop-0.9-x86_64-1_SBo.tgz installed.

Atualmente o installpkg trabalha com extensões tgz e txz! É bem provável que hoje você ache mais pacotes tgz na Internet, mas no futuro achará mais txz, que é o padrão do Slackware atual. A mídia de instalação do Slackware tem pacotes txz!

Pronto esta instalado e é só utilizar o software!

A primeira vista parece ser difícil, mas é só uma questão de ponto de vista e cultura! Eu atualmente acho mais fácil instalar um pacote assim do que via Windows ou via instalador de pacotes de outra distribuição, pois em relação ao Windows eu sei onde achar os pacotes e não preciso de cracks e quanto aos instaladores de outras distros (principalmente as automáticas) eu sei exatamente o que foi instalado em meu computador (isto é importante para a parte de segurança, lembrem-se que eu trabalho com a área de segurança da informática e um dos princípios e saber tudo o que tem instalado em seu computador, pois cada software é um risco em potencial para a segurança).

– Instalação via installpkg, mas compilando código fonte:

Outra forma de fazer a instalação é compilando o pacote e depois instalar via installpkg. Esse é o método que eu mais utilizo atualmente!!!

Então para fazer este processo eu utilizo o http://www.slackbuild.org. Para poder comparar as instalações vamos novamente instalar o htop:

1 – Entre no site e procure pelo programa:

2 – Veja a página referente ao htop (está divida em três para fazer o scroll da tela):

3 – Salve o arquivo do Slackbuild referente ao htop, este vai preparar o ambiente para a compilação e criação do pacote, para ser instalado via installpkg:

4- Salve também o fonte do htop, eu costumo fazer de outra maneira (via wget), mas para ilustrar melhor vamos fazer assim:

5 – Agora vamos descompactar o pacote Slackbuild (todos os passos agora serão via terminal texto):

tar vzxf /home/luiz/Downloads/htop.tar.gz -C /tmp
htop/
htop/README
htop/doinst.sh
htop/htop.info
htop/slack-desc
htop/htop.SlackBuild

Eu tenho por costume descompactar pacotes dentro do diretório /tmp, é isto que a opção -C fez.

6 – Vamos mover o fonte do htop para o diretório recém descompactado (é só mover):

mv /home/luiz/Downloads/htop-0.9.tar.gz /tmp/htop/

Eu geralmente faço o passo 5 dentro do diretório descompactado e depois faço um wget direto do fonte! Mas no final das contas vai dar no mesmo…

7 – Vamos executar o script do Slackbuild e então será gerado o pacote htop para o installpkg:

Primeiro entramos dentro do diretório recém descompactado (é só olhar a saída do passo 5 e acrescentar no inicio o /tmp, caso você tenha seguido os passos).

cd /tmp/htop/

Agora é só executar o scritp do Slackbuild (se você der um ls -l ele vai estar como executável (x), caso não esteja use o comando sh na frente do nome do arquivo script). Esse nome muda de programa para programa, mas normalmente é o nome do programa seguido por SlackBuild. Geralmente é só digitar ./ e pressionar a tecla tab (tabulação) que bash vai completar com o nome do scritp (pois só tem este executável). Após isto o programa será compilado e no final será apresentado onde foi criado o pacote tgz para ser instalado via installpkg. Veja a saída:

./htop.SlackBuild

(… algumas saídas omitidas da compilação!)

/usr/bin/ginstall -c -m 644 ‘htop.desktop’ ‘/tmp/SBo/package-htop/usr/share/applications/htop.desktop’
test -z “/usr/man//man1” || /usr/bin/mkdir -p “/tmp/SBo/package-htop/usr/man//man1”
/usr/bin/ginstall -c -m 644 ‘./htop.1’ ‘/tmp/SBo/package-htop/usr/man//man1/htop.1’
test -z “/usr/share/pixmaps” || /usr/bin/mkdir -p “/tmp/SBo/package-htop/usr/share/pixmaps”
/usr/bin/ginstall -c -m 644 ‘htop.png’ ‘/tmp/SBo/package-htop/usr/share/pixmaps/htop.png’
make[4]: Saindo do diretório `/tmp/SBo/htop-0.9′
make[3]: Saindo do diretório `/tmp/SBo/htop-0.9′
make[2]: Saindo do diretório `/tmp/SBo/htop-0.9′
make[1]: Saindo do diretório `/tmp/SBo/htop-0.9′

Slackware package maker, version 3.14159.

Searching for symbolic links:

No symbolic links were found, so we won’t make an installation script.
You can make your own later in ./install/doinst.sh and rebuild the
package if you like.

This next step is optional – you can set the directories in your package
to some sane permissions. If any of the directories in your package have
special permissions, then DO NOT reset them here!

Would you like to reset all directory permissions to 755 (drwxr-xr-x) and
directory ownerships to root.root ([y]es, [n]o)? n

Creating Slackware package:  /tmp/htop-0.9-x86_64-1_SBo.tgz

./
usr/
usr/bin/
usr/bin/htop
usr/doc/
usr/doc/htop-0.9/
usr/doc/htop-0.9/NEWS
usr/doc/htop-0.9/TODO
usr/doc/htop-0.9/README
usr/doc/htop-0.9/AUTHORS
usr/doc/htop-0.9/htop.SlackBuild
usr/doc/htop-0.9/INSTALL
usr/doc/htop-0.9/ChangeLog
usr/doc/htop-0.9/COPYING
usr/man/
usr/man/man1/
usr/man/man1/htop.1.gz
usr/share/
usr/share/applications/
usr/share/applications/htop.desktop
usr/share/pixmaps/
usr/share/pixmaps/htop.png
install/
install/doinst.sh
install/slack-desc

Slackware package /tmp/htop-0.9-x86_64-1_SBo.tgz created.

8 – Vamos instalar o tgz gerado pelo Slackbuild:

Ao final do passo anterior temos a saída “Slackware package” que precede o nome e o lugar onde o pacote foi gerado! Feito isto é só usar o installpkg e instalar o programa!

installpkg /tmp/htop-0.9-x86_64-1_SBo.tgz
Verifying package htop-0.9-x86_64-1_SBo.tgz.
Installing package htop-0.9-x86_64-1_SBo.tgz:
PACKAGE DESCRIPTION:
# htop (Interactive process viewer)
#
# This is htop, an interactive process viewer for Linux. It is a text-
# mode application (for console or X terminals) and requires ncurses.
# htop has been tested with Linux 2.4 and 2.6 kernels.
#
# Homepage: http://htop.sourceforge.net/
#
#
Executing install script for htop-0.9-x86_64-1_SBo.tgz.
Package htop-0.9-x86_64-1_SBo.tgz installed.

Pronto o programa foi compilado e instalado para a nossa máquina! Repare que no meu caso eu estou utilizando uma arquitetura x86_64 e o pacote já foi gerado automaticamente para estar arquitetura. Nas primeiras instalações via este método o processo pode parecer difícil, mas com o tempo você se acostuma e vai preferir este! Digo isto de experiência própria.

😉

– Instalação padrão Linux via código fonte compilado (./configure && make && make install):

Este tipo de instalação funciona em qualquer Linux! E tem a fama de ser difícil, porém leia até o final e veja que não é bem assim… Os passos são:

1 – Baixe o código fone, vamos novamente instalar o htop (procure pelo site e pelo software no google):


Neste processo achamos o site, fomos para a parte de downloads, procuramos pelo fonte (source) e baixamos o software.

2 – O próximo passo é descompactar o fonte (todos os passos a seguir são via terminal texto):

tar vzxf /home/luiz/Downloads/htop-0.9.tar.gz -C /tmp
htop-0.9/
htop-0.9/Makefile.am
htop-0.9/ClockMeter.h

(… saídas omitidas…)

htop-0.9/Object.c
htop-0.9/htop.c
htop-0.9/autogen.sh
htop-0.9/AvailableMetersPanel.c

3 – Vá para o diretório recém extraído:

cd /tmp/htop-0.9/

Dentro deste diretório e comumente dos diretórios de instalação via código fonte, teremos os arquivos INSTALL ou README, até mesmo ambos, que dizem como compilar o programa, use um programa como o less para ver como proceder! Mas hoje na grande maioria dos casos os passos são os que seguem.

4 – Gere o arquivo que irá ajudar na compilação:

./configure
checking for a BSD-compatible install… /usr/bin/ginstall -c
checking whether build environment is sane… yes
checking for a thread-safe mkdir -p… /usr/bin/mkdir -p
checking for gawk… gawk
checking whether make sets $(MAKE)… yes

(…omitindo..)

config.status: creating plpa-1.3.2/src/libplpa/plpa.h
config.status: executing depfiles commands
config.status: executing libtool commands

Este irá gerar o arquivo MakeFile e verificar se o sistema tem tudo o que é necessário para instalação.

5 – Vamos então compilar o código fonte:

make

(..omitindo…)

ColorsPanel.o htop-ColumnsPanel.o htop-CPUMeter.o htop-CRT.o htop-DebugMemory.o htop-DisplayOptionsPanel.o htop-FunctionBar.o htop-Hashtable.o htop-Header.o htop-htop.o htop-ListItem.o htop-LoadAverageMeter.o htop-MemoryMeter.o htop-Meter.o htop-MetersPanel.o htop-Object.o htop-Panel.o htop-BatteryMeter.o htop-Process.o htop-ProcessList.o htop-RichString.o htop-ScreenManager.o htop-Settings.o htop-SignalItem.o htop-SignalsPanel.o htop-String.o htop-SwapMeter.o htop-TasksMeter.o htop-TraceScreen.o htop-UptimeMeter.o htop-UsersTable.o htop-Vector.o htop-AvailableColumnsPanel.o htop-AffinityPanel.o htop-HostnameMeter.o htop-OpenFilesScreen.o  ./plpa-1.3.2/src/libplpa/.libs/libplpa_included.a -lncurses -lm
make[2]: Saindo do diretório `/tmp/htop-0.9′
make[1]: Saindo do diretório `/tmp/htop-0.9′

Se você quiser somente testar o software, você pode parar por aqui e utilizar os executáveis que estão dentro do diretório atual. Mas para isto você terá de passar o caminho absoluto o que torna a execução de comandos trabalhosos! Então é recomendável ir para o próximo passo…

6 – Com o código compilado é só instalar os arquivos gerados:

make install
make[1]: Entrando no diretório `/tmp/htop-0.9′
Making install in plpa-1.3.2
make[2]: Entrando no diretório `/tmp/htop-0.9/plpa-1.3.2′
Making install in src
make[3]: Entrando no diretório `/tmp/htop-0.9/plpa-1.3.2/src’
Making install in libplpa
make[4]: Entrando no diretório `/tmp/htop-0.9/plpa-1.3.2/src/libplpa’
make[5]: Entrando no diretório `/tmp/htop-0.9/plpa-1.3.2/src/libplpa’
make[5]: Nada a ser feito para `install-exec-am’.
make[5]: Nada a ser feito para `install-data-am’.
make[5]: Saindo do diretório `/tmp/htop-0.9/plpa-1.3.2/src/libplpa’
make[4]: Saindo do diretório `/tmp/htop-0.9/plpa-1.3.2/src/libplpa’
make[4]: Entrando no diretório `/tmp/htop-0.9/plpa-1.3.2/src’
make[5]: Entrando no diretório `/tmp/htop-0.9/plpa-1.3.2/src’
make[5]: Nada a ser feito para `install-exec-am’.
make[5]: Nada a ser feito para `install-data-am’.
make[5]: Saindo do diretório `/tmp/htop-0.9/plpa-1.3.2/src’
make[4]: Saindo do diretório `/tmp/htop-0.9/plpa-1.3.2/src’
make[3]: Saindo do diretório `/tmp/htop-0.9/plpa-1.3.2/src’
make[3]: Entrando no diretório `/tmp/htop-0.9/plpa-1.3.2′
make[4]: Entrando no diretório `/tmp/htop-0.9/plpa-1.3.2′
make[4]: Nada a ser feito para `install-exec-am’.
make[4]: Nada a ser feito para `install-data-am’.
make[4]: Saindo do diretório `/tmp/htop-0.9/plpa-1.3.2′
make[3]: Saindo do diretório `/tmp/htop-0.9/plpa-1.3.2′
make[2]: Saindo do diretório `/tmp/htop-0.9/plpa-1.3.2′
make[2]: Entrando no diretório `/tmp/htop-0.9′
make[3]: Entrando no diretório `/tmp/htop-0.9′
test -z “/usr/local/bin” || /usr/bin/mkdir -p “/usr/local/bin”
/bin/sh ./libtool –mode=install /usr/bin/ginstall -c ‘htop’ ‘/usr/local/bin/htop’
libtool: install: /usr/bin/ginstall -c htop /usr/local/bin/htop
test -z “/usr/local/share/applications” || /usr/bin/mkdir -p “/usr/local/share/applications”
/usr/bin/ginstall -c -m 644 ‘htop.desktop’ ‘/usr/local/share/applications/htop.desktop’
test -z “/usr/local/share/man/man1” || /usr/bin/mkdir -p “/usr/local/share/man/man1”
/usr/bin/ginstall -c -m 644 ‘./htop.1’ ‘/usr/local/share/man/man1/htop.1’
test -z “/usr/local/share/pixmaps” || /usr/bin/mkdir -p “/usr/local/share/pixmaps”
/usr/bin/ginstall -c -m 644 ‘htop.png’ ‘/usr/local/share/pixmaps/htop.png’
make[3]: Saindo do diretório `/tmp/htop-0.9′
make[2]: Saindo do diretório `/tmp/htop-0.9′
make[1]: Saindo do diretório `/tmp/htop-0.9′

Pronto com este passo os arquivos estarão nos diretórios corretos e você pode executar o seu programa em qualquer lugar de seu computador. Neste caso basta digitar htop.

Conclusão

Tentei mostrar aqui a instalação de programas no Slackware – existem mais inclusive mais fáceis – as três mostradas aqui foram:

1 –  baixe o pacote tgz em um site especializado e execute:

installpkg  pacote.tgz

2 – baixe no http://www.slackbuild.org o fonte e o script para compilar o pacote e faça:

./pacote.Slackbuild

installpkg pacotegeradoporvoce.tgz

3 – baixe o fonte no site e faça:

./configure && make && make install

É só isto! É claro que em algumas instalações teremos que resolver problemas, tal como dependência de pacotes… o que pode geral alguma dor de cabeça! Mas fique calmo leia com atenção as saídas e tudo ficará bem…

Lembrando que utilizar ferramentas automatizadas deixará esta tarefa mais simples e amigável! O que torna instalar pacotes no Linux mais simples do que no Windows.

Os passos apresentados aqui neste Post podem até sem mais complexos do que no Windows, mas são mais seguros e destinados a ambientes como servidores (mas eu uso no meu desktop, no meu notebook e no meu netbook), então pondere isto antes de mais nada…

comentários
  1. Ezequiel disse:

    Nâo existe alguma possibilidade de trabalhar somente com o mode texto no Slackware, exemplo gostaria de instalar o Squid, mas acontece que eu não sei o site, gostaria que fosse que nem nas outras distribuições também apt-get install Pacote ele procura na internet, existe essa possibilidade no squid também?

    • profluizarthur disse:

      Tem sim… é altamente recomendável inclusive trabalhar somente com o modo texto em servidores!
      Existem ferramentas tipo apt-get para o Slackware… Ah, vc também pode instalar os pacotes via installpkg, mas esse não baixa os pacotes da Internet tal como o apt-get…

      Eu particularmente prefiro baixar e compilar os pacotes – use o sítio http://www.slackbuilds.com para isso – só é complicado no inicio depois você acostuma! 😉

      Desculpe a demora na resposta!

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s