**************************************************************
* INSTALAR UM PROGRAMA NO LINUX : ****
* GERENCIAMENTO DE PACOTES ou COMO FACILITAR SUA VIDA *
* EXEMPLO DE COMPILAÇÃO PARA TREINAR **
************************************************************
PRÉ-REQUISITO :
INTRODUÇÃO
Como está escrito no artigo
Linux- Instalação de softwares (em francês) , existem vários tipos de instalação : pacotes ou compilação das fontes ; sendo a segunda solução, a mais difícil a ser realizada. A instalação dos pacotes é super simples e, para evitar que você mesmo tenha que buscar os pacotes, certas distribuições linux desenvolveram programas para gerenciar pacotes.
No entanto, alguns programas (ou as últimas versões de alguns deles) não existem (ainda) em forma de pacote: é preciso, então, passar pela compilação das fontes, cujo exemplo veremos na Parte III
***********************************************************************
I) GERENCIAMENTO DE PACOTES EM DIVERSAS DISTRIBUIÇÕES
I.1) INTRODUÇÃO
Os pacotes são para o Linux o que os .exe são para o Windows. Eles são muito fáceis de serem instalados, na maioria dos casos, uma vez que os links dados como "Pré-requisito" foram respeitados.
Eles se apresentam como extensões.rpm (para o Red Hat Package Management) no Mandrake, RedHat, Fedora Core e Suse, no formato .deb para o Debian, o Ubuntu, etc ... e format .tgz para o Slackware.
Eles são instalados pelo comando
rpm -ivh programme.rpm
ou
dpkg -i programme.deb
ou encore
installpkg programme.tgz
No entanto, vários problemas
podem ocorrer : o pacote que você deseja instalar (programa_A) requer a instalação de um outro programa (programa_B) antes do nosso programa_A : é preciso, então, buscar o pacote do programa_B para instalá-lo mas, outra vez, este , pode precisar da presença de um programa_C e, assim por diante... Isso é o que chamamos de dependências e pode, tornar-se muito complicado se o programa_A depende do prog_a, prog_b e PROG_DIR prog_c e cada um deles também dependem de uma dúzia de programas ...
Para facilitar a vida do usuário, a maioria dos distribuidores modernos integram um sistema de gestão de pacotes, qui vai gerenciar (entre outras coisas) as dependências , no lugar do usuário. Assim sendo, a instalação do programa_A será feita através do comando : "instalar o programa_A para mim" e a ferramenta de gestão irá buscar nos sites internet, pré-definidos como programa_A, verificará se o programa_A depende de outros pacotes e, se for o caso, ele os baixará e os instalará em boa ordem: programa_C e programme_B dependendo do C e, programa_A qui dependendo do B.
Estas ferramentas diferem de uma distribuição para a outra mas, obedecem a algumas regras gerais de funcionamento.
***********************************************************************
I.2) REGRAS GERAIS
Estas ferramentas de gestão de pacotes servem da seguinte maneira : um comando "instale isto para mim" (a ser substituído por urpmi, apt-get, yum, ...) e o nome do pacote que quiser :
instale isto para mim: pacote
Para isto, é preciso configurar este utilitário dizendo onde buscar os pacotes que ele quer instalar : é isso é chamado, dar-lhe as origens de onde ele deve baixar os programas. Vejamos como isso funciona nas diferentes distribuições.
***********************************************************************
I.3) MANDRIVA E URPM
Aqui, " instale isto para mim" : se chama "urpmi".
Urpm dispõe de diversas variantes (observe que "falta" o i no final da palavra...)
urpmi que serve para instalar ("i"nstall)
urpme qui serve para desinstalar ("e"rase)
urpmf e urpmq que servem para fazer buscas ("f"ind e "q"uery)
Cada um desses utilitários tem um monte de opções: consultar o manual
man urpmi
, idem para o urpme, f, q, para conhecer as diferentes opções utilisáveis em cada um destes utilitários. Mais tarde, nós veremos apenas o urpmi.
_______________________________________________________________________
I.3.1) Definir as fontes do urpmi
Todos esses comandos precisam dos privilégios do super-usuário (root) : para isso, digite a sua senha.
Para poder utilizar o urpmi, é preciso, em primeiro lugar, configurar as fontes do urpmi. Para isso, utilizaremos os comandos urpmi.addmedia (para adicionar uma fonte) e urpmi.removemedia (para remover uma fonte)
A sintaxe é a seguinte:
para adicionar uma fonte :
urpmi.addmedia nome_da_fonte protocolo://endereço/do/diretorio/dos/pacotes/ with caminho/relativo/para/hdlist.cz
para remover uma fonte :
urpmi.removemedia nome_da_fonte
Pode-se adicionar como fonte : sites ftp, sites http, CDs,
XX??????XXXX
De um modo geral, durante a instalação do Mandrake, recuperam-se diversos CDs como fonte. Se você tiver uma conexão de banda larga do tipo adsl, é preferível removê-los para especificar as novas fontes, com atualizações (ao contrário dos CDs)
urpmi.removemedia -a
remove todas as antigas fontes.
Em seguida, é preciso adicionar as fontes que você quiser : como, por exemplo, o site
easyurpmi.zarb.org, muito bem feito. Depois então, adicione diferentes fontes : "main" (principal, em inglês) corresponde, mais ou menos, ao que há nos CDs, "updates" contém as atualizações, "contrib" corresponde aos pacotes fornecidos por outros usuários (usar com moderação). Também existem fontes jpackage e plf (penguin liberation front) que podem ser adicionados para aumentar a quantidade de pacotes instaláveis pelo urpmi. Observemos que estes nomes são apenas exemplos, o usuário pode escolher o nome que quiser.
Exemplo detalhado : a fonte "main"
urpmi.addmedia main fr2.rpmfind.net/linux/Mandrakelinux/official/10.1/i586/media/main with media_info/hdlist.cz
- urpmi.addmedia é o comando
- « main » é o nome da fonte urpmi (o usuário pode pôr \"principal\", ou até \"maria_gosta_de_flôres\", o importante é que o nome seja reconhecível : é comum anotá-lo, por exemplo \"rpmfind_main\" pois vamos buscá-lo no site rpmfind
- ............../media/main corresponde à pasta com os arquivos .rpm da fonte « main »
- with media_info/hdlist.cz corresponde à lista dos pacotes da pasta .../media/main indicada acima : esta lista será baixada e armazenada no seu computador e permitirá ao programa de saber, rapidamente, se o pacote existe e onde buscá-lo : Trata-se do caminho RELATIVO : quer dizer aqui que o caminho para o hdlist.cz é, na realidade: ....../media/main/media_info/hdlist.cz
Às vezes, podemos encontrar "with ../media_info/hdlist_main.cz" : isto significa que o "hdlist" para o "main" se situa no :
....media/media_info/hdlist_main.cz : subimos um pouco na árvore antes de descer de novo para o media_info/
Falta instalar as diferentes fontes, da mesma maneira : para isto, ou seguir as indicações do easyurpmi, ou vasculhar o site ftp para encontrar o que interessa...
Poderemos instalar, por exemplo :
urpmi.addmedia updates
fr2.rpmfind.net/linux/Mandrakelinux/official/updates/10.1/main_updates with media_info/hdlist.cz
urpmi.addmedia contrib
fr2.rpmfind.net/linux/Mandrakelinux/official/10.1/i586/media/contrib with media_info/hdlist.cz
urpmi.addmedia jpackage
fr2.rpmfind.net/linux/Mandrakelinux/official/10.1/i586/media/jpackage with media_info/hdlist.cz
urpmi.addmedia plf-free
ftp.free.fr/pub/Distributions_Linux/plf/mandrake/free/10.1 with hdlist.cz
urpmi.addmedia plf-nonfree
ftp.free.fr/pub/Distributions_Linux/plf/mandrake/non-free/10.1 with hdlist.cz
Pronto, instalamos várias fontes para o urpmi!
Resumo
su
xxxxxx <-- senha root
urpmi.removemedia -a
urpmi.addmedia nome pasta_dos_rpm with caminho_relativo/hdlist.cz
_______________________________________________________________________
I.3.2) Atualização das fontes
As distribuições Linux e os pacotes associados estão em constante evolução, por isso é aconselhável, por exemplo, antes de instalar certos pacotes, fazer uma atualização de suas fontes para :
_______________________________________________________________________
I.3.3) Instalar um programa graças ao urpmi
É aí que podemos constatar o poder do uso deste tipo de gerenciador de pacotes...
Em um terminal, viramos um super-usuário (su) e, se quisermos, instalamos o pacote "pacote"e digitamos :
urpmi paquet
Exemplo : se quisermos instalar gedit :
urpmi gedit
é o suficiente!!
Um outro exemplo interessante : você quer instalar um "equivalente" grátis do Office mas, você não sabe como ele se chama no linux? Você pode contar com o fato de que o pacote terá, pelo menos, a cadeia dos caracteres "office" : você poderá tentar
urpmi office
Neste caso, um usuário do mandrake poderá te dar informações exatas sobre o programa !!!
Ele te proporá diversos nomes de pacotes contendo o office!
Depois da escolha feita (por exemplo, para o openoffice), é só especificar!
urpmi openoffice.org
o nome do pacote está correto ?
man urpmi
te dará as opções utilizáveis com o urpmi para um uso avaçado (por exemplo, especificar uma fonte, ignorar as dependências, etc)
Também é possível buscar pacotes graças ao urpmf ou urpmq (veja
man urpmf
e
man urpmq
)
Finalmente, você pode testar a possibilidade de instalar um pacote graças ao
urpmi --teste pacote
Resumo
su
xxxxxx <-- senha root
urpmi pacote
Para atualização de todos os pacotes instalados :
urpmi.update -a
urpmi --auto-select
para testar a possibilidade de instalação do "pacote"
urpmi --teste pacote
_______________________________________________________________________
I.3.4) Desinstalar um programa graças ao urpme
O pacote que você acaba de instalar não te agradou ? ou não está tendo nenhuma utilidade? Nada mais fácil do que removê-lo ! Ainda como super-usuário, basta digitar
urpme gedit
para remover o gedit que foi instalado, anteriormente.
Resumo
su
xxxxxx <-- senha root
urpme pacote
_______________________________________________________________________
I.3.5) Gestão em modo gráfico
Não conheço mas, sei que existe, tipo no drakconf, instalar pacotes, etc : alguém poderia nos ajudar a detalhar este ítem ??
***********************************************************************
I.4) DEBIAN E APT-GET
Aqui, "instale-isso-para-mim:" se chama "apt-get".
As diversas opções do apt-get também estão descritas naa página do manual :
man apt-get
_______________________________________________________________________
I.4.1) Definir as fontes do apt-get
Elas estão definidas no arquivo /etc/apt/sources.list, e se apresentam sob a forma de uma linha com:
tipo endereço versão nome1 nome2 ...
tipo : pode ser "deb" para os pacotes ou "deb-src" para as fontes dos programas
endereço : endereço para a pasta da distribuição
versão : versão da distribuição : « stable, testing ou unstable »
nomes : nome dos sub-diretórios de endereço/dists/versão/
Exemplo : se você tem a versão testing da Debian : uma linha como essa :
deb ftp.fr.debian.org/debian testing main contrib non-free
no /etc/apt/sources.list bastará.
Você poderá adicionar
deb ftp.fr.debian.org/debian-non-US testing main contrib non-free
Para os pacotes de marcas "não americanas" e :
deb-src ftp.fr.debian.org/debian/ testing main contrib non-free
Para os pacotes-fonte do programa.
O arquivo /etc/apt/sources.list deve ser editado "manualmente" pelo super-usuário
_______________________________________________________________________
I.4.2) Atualização das fontes
A atualização das fontes é feita graças ao comando :
apt-get update
_______________________________________________________________________
I.4.3) Instalar um programa
Um pacote é instalado graças ao comando:
apt-get install pacote
Exemplo : se você quiser instalar o gedit :
apt-get install gedit
dá :
Leitura das listas de pacotes... Feito
Construção da árvore das dependências... Feito
Os seguintes pacotes adicionais serão instalados :
docbook-xml gedit-common gnome-keyring libbonoboui2-0 libbonoboui2-common libeel2-2 libeel2-data
libgail-common libgail17 libgnome-keyring0 libgnomeui-0 libgnomeui-common libgtksourceview-common
libgtksourceview1.0-0 libscrollkeeper0 scrollkeeper
Pacotes recomendados :
docbook docbook-doc docbook-dsssl docbook-xsl docbook-stylesheets docbook-xsl-stylesheets
gnome-icon-theme
Os NOVOS pacotes serão instalados :
docbook-xml gedit gedit-common gnome-keyring libbonoboui2-0 libbonoboui2-common libeel2-2
libeel2-data libgail-common libgail17 libgnome-keyring0 libgnomeui-0 libgnomeui-common
libgtksourceview-common libgtksourceview1.0-0 libscrollkeeper0 scrollkeeper
0 atualização, 17 recém instalados, 0 à ser tirado e 4 não-atualizações.
É preciso pegar 5584ko nos arquivos.
Depois de desempacotar, os 24,7Mo do espaço do disco adicionais serão utilizados.
Você quer continuar ? [Sim/Não]
Vê-se que o apt-get diz quais são os pacotes que devem ser instalados para satisfazer as dependências
Também podemos fazer uma atualização do sistema, graças ao :
apt-get dist-upgrade
que vai verificar todas as atualizações dos pacotes recém instalados e fazer a atualização, caso seja necessário.
Resumo
- instalação do \"pacote\" :
apt-get install paquet
apt-get dist-upgrade
- atualização do \"pacote\" :
apt-get upgrade paquet
_______________________________________________________________________
I.4.4) Desinstalar um programa
A desinstalação do "pacote" é feita graças ao:
apt-get remove paquet
apt-get baixa os pacotes .deb antes de instalá-los e, de vez em quando, é preciso limpar este banco de dados temporário :
apt-get clean
_______________________________________________________________________
I.4.5) Outras ferramentas Debian
Existem outros programas Debian para a gestão de pacotes. Podemos citar, principalmente : synaptic, dselect e aptitude
Para instalá-los, nada mais simples ! :
apt-get install synaptic dselect aptitude
Podemos executá-los graças ao
aptitude
ou
dselect
ou ainda
synaptic
« aptitude » parece ser o maic ompleto, ele é "quase gráfico" : ele funciona em um terminal mas, os menus também são acessíveis com o mouse. I Ele te ajuda : a fazer buscas com a parte do nome do pacote, a ver, para cada pacote, aqueles dos quais ele depende, aqueles que dependem dele, os pacotes que são utilizados com ele, etc. Super prático, a ser experimentado, sem falta!
« dselect » possui um menu em modo texto e, pode ser desencorajador no início. Ele tende a ceder seu lugar ao « aptitude ».
Eu não conheço o « synaptic »...será que alguém poderia nos ajudar?
***********************************************************************
I.5) FEDORA E YUM
***********************************************************************
I.6) SLACKWARE
Os pacotes desta distribuição são grupos de conjuntos de arquivos reunidos em um só, graças ao utilitário "tar" e, depois comprimidos en gzip.
Sua extensão é .tgz (uma contração do tar.gz). Isto pode ser enganador: estamos acostumados a associar tar.gz com as fontes arquivadas de um software. Mas não é o caso aqui: não são fontes mas arquivos binários contidos nestes arquivos. Assim como os pacotes de outras distribuições (fora o Gentoo e derivados).
No slackware, você encontra um gerenciador de pacotes integrado: pkgtools.
Podemos compará-lo com o dpkg no debian: é o gerenciador de base para instalar, tirar, criar um pacote mas, ele não irá buscar as dependências em seu lugar.
Apesar desse parágrafo ser previsto para introduzir apenas os gerenciadores de pacotes que administram, automaticamente, as dependências (os outros são evocados na introdução), é preciso, de qualquer maneira, falar disso pois você pode precisar justamente para instalar um gerenciador de pacotes, mais evoluído !
Para instalar um pacote com o pkgtools:
installpkg caminho_para_um_pacote.tgz
Para removê-lo:
removepkg nome_pacote #Nada de .tgz no final
Para atualizá-lo:
upgradepkg nome_antigo_pacote%caminho_para_novo_pacote.tgz
=>
slackware.com/config/packages.php
Mas se você não quiser esquentar a cabeça gerenciando você mesmo as dependências (e dá para entender !), você pode utilizar um gerenciador de pacotes mais evoluído, como o slackpkg.
slackpkg.sourceforge.net/
Para instalá-lo, siga direitinho a parte "install" no link acima. Resumindo e, para esclarecer um pouco (por causa do inglês):
_Baixar o pacote slackpkg (link dado na parte install do link acima)
_Instalar este pacote com o installpkg
_Editar o arquivo de configuração /etc/slackpkg/mirrors e descomentar uma única linha (este será o link do mirroir para o qual o slackpkg irá buscar os pacotes).
_Executar o comando
slackpkg update
para recuperar a lista de pacotes com o servidor « mirroir ».
Pronto, executar o comando anterior, de vez em quando, para atualizar sua lista de pacotes.
Para instalar um pacote:
slackpkg install nome_pacote
Você pode até dar o nome « aproximado » do pacote, slackpkg proporá uma lista com os nomes dos pacotes com alguma relação com o que você procurou.
Atualizar seus pacotes (automaticamente, todos os que têm uma atualzação):
slackpkg upgrade
Buscar o nome de um pacote:
slackpkg search nome_arqivo
onde nome_arquivo significa nome de um arquivo que se encontra no pacote que você está procurando (bem prático).
Slackpkg não é o único gerenciador de pacotes desenvolvido no Slackware, não deixe de consultar o swaret e o slapt-get:
swaret.sourceforge.net/index.php
freshmeat.net/projects/slaptget/
***********************************************************************
II) ALIEN : A SOLUÇÃO DO ALÉM...
íVocê quer instalar a última versão do seu programa favorito e todos os pacotes estão disponíveis! Ou, quase todos ... todos, menos o da sua sua distribuição .... Você terá que compilar as fontes, e da última vez que tentou fazê-lo, isso foi devastador .... Talvez reste uma última esperança: ele se chama « alien », e é usado para "transformar" um pacote .rpm em .deb ou, ao contrário... pode gerenciar pacotes rpm, deb, SLP, tgz e pkg (Solaris). No entanto, ele continuará a ser sempre um programa "teste" que nunca será 100% eficaz.
No entanto, pode ser interessante tentar esta solução antes de compilar as fontes. Para instalá-lo, apt-get ou urpmi deverá resolver a situação.
Em seguida
alien --to-deb paquet.rpm
criará o arquivo .deb que você poderá instalar pelo
dpkg -i paquet.deb
(veja
www.commentcamarche.net/tutlinux/linrpm.php3 (em francês) para a instalação dos pacotes)
Uma leitura atenta do
man alien
te ajudará a encontrar opções adaptadas a sua distribuição.
***********************************************************************
III) EXEMPLO DE COMPILAÇÃO DE FONTES
III.1) LEMBRETES
Desista, você não está conseguindo encontrar nenhum pacote, nem mesmo o “alien” está te ajudando o seu programa ... Vais er preciso usar a instalação do programa a partir do código-fonte ...
Em geral, ele aparece sob a forma de um arquivo comprimido (.tar.gz ou .tar.bz2).
O procedimento está detalhado aqui: [/ tutlinux/linrpm.php3 www.commentcamarche.net/tutlinux/linrpm.php3(em francês)] e lembrem aqui, de forma bem sucinta:
- extração do cóigo-fonte na pasta \"programa\"
- cd para a pasta \"programa\"
- ./configure
- make
- passagem para o super-usuário
- make install
No entanto, a maioria dos iniciantes no linux buscam programas para instalar super complicados, supondo a instalação prévia de vários pacotes chamados "de desenvolvimento " do tipo, toto-dev, toto-devel, ou libtoto, sem falar em todas a dependências erradas, que são necessárias.
Vamos fazer aqui a instalação de um programa depende apenas de pouquíssimas coisas para tomar conta do processo de instalação.
_______________________________________________________________________
III.2) PROGRAMAS NECESSÁRIOS À COMPILAÇÃO
Com refrência ao exemplo acima e, ver se o processo foi bem assimilado, vamos instalar o lynx qui é um navegador da internet em modo de console. Como se trata de um programa relativamente simples (modo console), ele depende de poucas coisas. Mas já que se trata do código-fonte do programa, será preciso, pelo menos, um compilador! (que vai "traduzir" as linhas de códigos para um executável).
Nolynx, trata-se do gcc
Para verificar se conseguiu, digitar
which gcc
Se você encontrar algo como
/usr/bin/gcc
, você conseguiu o gcc
Se não, se você fez tudo direitinho, como foi mostrado acima e, conforme sua distribuição, você poderá utilizar o
urpmi gcc
ou
apt-get install gcc
ou ainda o
yum gcc
_______________________________________________________________________
III.3) COMPILAÇÃO !
O objetivo aqui é fornecer (com explicações) todas as etapas necessárias à compilação do programa, partindo da hipótese que você tem todos os programas, compiladores e outros.
Comecemos recuperando o código-fonte do programa que nos interessa.
lynx.isc.org/release/lynx2.8.5.tar.bz2 para o arquivo no formato .tar.bz2
e o baixaremos no /home/toto/ (se o usuário se chama toto => a ser substituído pelo seu nome de usuário! Se você naão sabe qual é ,
ls -l /home
te dará uma lista de usuários : você pode substituír "toto" pelo certo!)
Em seguida, abrimos uma janela do terminal, e vamos para o /home/toto, como usuário normal!! (toto e, não o super usuário root)
cd /home/toto
ls -rtl
: você verá aparecer na lista (com certeza, entre as últimas posições, o arquivo "lynx2.8.5.tar.bz2". Como já foi dito acima, trata-se de um
arquivo, como um .zip ou um .rar : é preciso, então, estraír o conteúdo. Para isso, utilize o comando tar (cf
www.commentcamarche.net/tutlinux/linrpm.php3)
tar xvfj lynx2.8.5.tar.bz2
Você deverá ver aparecer linhas que correspondem aos arquivos que são extraídos do arquivo
.
.
.
lynx2-8-5/test/
lynx2-8-5/test/tabtest.html
lynx2-8-5/test/iso8859-1.html
lynx2-8-5/test/TestComment.html
lynx2-8-5/test/ISO_LATIN1_test.html
lynx2-8-5/test/README.txt
.
.
.
Aqui, você pode ver que todos esses arquivos têm um nome que começa por lynx2-8-5/ : trata-se da pasta na qual as fontes foram extraídas.
Vamos até esta pasta :
cd lynx2-8-5/
e vejamos o que ela contém :
ls
Vemos vários arquivos cujos mais importantes são : configurae?? Makefile?? NON!! README e INSTALAÇÃO, claro!!
Normalmente, a primeira da compilação corresponde à configuração graças ao ./configure : aqui, para evitar a reinstalação do lynx, que talvez já esteja instalado e, para verificar se o que estamos fazendo, estácerto, vamos criar uma pasta "Install_test" na qual instalaremos a versão compilada.
mkdir Install_test
E vamos configurar, precisando que este diretório será o diretório onde instalaremos nosso novo programa graças à opção --prefix= no ./configure :
./configure --prefix=/home/toto/lynx2-8-5/Install_test
(não esquecer de substituír "toto" pelo usuário correto)
O sistema se certificará da presença do compilador, de outras opções ou da maneira de compilar/instalar o programa mas, ele te diz tudo! (o que pode ser bem útil em caso de bug : assim, podemos saber o que falta na configuração)
Depois de configurado, é preciso compilar o programa graças ao make
make
Aparecem várias linhas de códigos correspondendo aos arquivos compilados, às opções utilizadas, etc
Agora só falta instalar o programa : para isso, são precisos os privilégios do super usuário
su
xxxxxx <-- sua senha "root"
E, finalmente :
make install
A essa altura, se tudo correu bem, seu programa já foi instalado no /home/toto/lynx2-5-8/Install_test/bin e você pode executá-lo com :
/home/toto/lynx2-8-5/Install_test/bin/lynx
Seu termina fica colorido e você encontra um menu meio estranho "Lynx source distribution and potpourri". Tecla "s" para saír : pronto !!! você compilou e instalou o seu programa! Mas não vamos ensinar o modo de utilização aqui...
Se você quiser que ele seja instalado no sistema e que você possa executá-lo digitando apenas "lynx", você derverá recomeçar SEM utilizar a opção --prefix=
Para apagar o programa :
cd /home/toto/lynx2-8-5/
make uninstall
make clean
_______________________________________________________________________
III.4) DESINSTALAÇÃO
Para a instação por compilação, cria-se o problema da desinstalação e, consequentemente, da atualização do software.
- Na verdade, existem dois métodos:
- o comando "make uninstall": só é possível se, por um lado, você guardou o diretório que serviu para a compilação (usando o exemplo anterior, trata-se do diretório /home/toto/lynx2-8-5/ ) e, por outro, que a desinstalação seja prevista, ou seja, criando regras para fabricar o objetivo "uninstall" (make uninstall").
- remover os arquivos criados pela instalação através do "make install": isso complica um pouco já que você deverá localizar esses mesmos arquivos. É a única solução se nenhuma regra pro "uninstall" foi prevista.
- Para superar essa dificuldade, existe o comando \"checkinstall\".
Sua vantagem é possibilitar a instalação de um software compilado em forma de uma por pacotes: o software compilado encontra-se em seguida, na lista dos softwares, no seu gerenciador de pacotes. Aliás, um pacote correspondendo ao nosso software compilado, no formato do da distribuição (*. deb para o Debian-like ou *. rpm para distribuições baseadas em rpm) é gerado no diretório de compilação.
- Passos à seguir: basta optar pelo comando \"checkinstall\" em vez do comando \"make install\".
Assim, seguimos a sequência:
./configure -> make ->
checkinstall
Em vez do tradicional:
./configure -> make ->
make install
Você será convidado a fornecer informações diversas (criação ou não do documento correspondente, comentários) para finalizar a criação do pacote correspondente.
Observe que checkinstall reconhece o formato do pacote a ser criado, no Ubuntu. De um modo geral, numa Fedora, por exemplo, pede-se para precisar o formato do pacote a ser criado.
- Agora fica fácil de remover um software compilado:
-nos Debian-like:
dpkg -r pacote_do_meu-software_compilado
-nas distribuições à base de rpm:
rpm -e pacote_do_meu-software_compilado
Para saber mais, consulte :
-o site do checkinstall:
asic-linux.com.mx/~izto/checkinstall/index.php
-o tutorial:
Gerenciando pacotes no Linux checkinstall
_______________________________________________________________________
III.5) DICAS - CONSELHOS
- De um ponto de vista mais pessoal, eu recomendaria baixar e descompactar as diversas fontes dos programas em um diretório que você criará, como por exemplo, no /usr/src/progperso
mkdir /usr/src/progperso
- Para os programas que você só quiser \"testar\" e, aproveitar para desinstalar, a idéia do --prefix parece interessante mas, de um modo geral, é melhor evitar , exceto em caso de força maior (às vezes, é preciso adicionar --prefix=/usr)
- Para te ajudar, você pode tentar a instalação do BC, uma em modo console (ainda mais simples a ser instalado que o lynx)
- baixar
www.fr.linuxfromscratch.org/view/blfs-5.0-fr/general/bc.html : é um tar.gz : salvá-lo em sua pasta /usr/src/progperso, por exemplo
cd /usr/src/progperso
tar xvzf bc-1.06.tar.gz
cd bc-1.06
mkdir install_perso
./configure --prefix=/usr/src/progperso/install_perso
make
su
xxxxxx
make install
Depois
exit
/usr/src/progperso/install_perso/bin/bc
exit para sair do modo root, a linha seguinte, para executar o seu programa BC
- com o checkinstall:
Se substituirmos o comando "make install" por "checkinstall", nos será perguntado se é preciso criar o documento correspondente ao nosso software:
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]: n
Pessoalmente, eu respondo « não »mas, isso não tem muita importância no funcionamento do nosso software.
Vem, em seguida, um pedido de informações sobre este software:
Installing with "make install"...
========================= Installation results ===========================
[...]
======================== Installation succesful ==========================
Copying files to the temporary directory...OK
Striping ELF binaries and libraries...OK
Compressing man pages...OK
Building file list...OK
Please write a description for the package.
End your description with an empty line or EOF.
>>uma calculadora para console
>>
On peut d'ailleurs noter que "checkinstall" passe par un "make install" pour génrer notre futur paqueatage.
Esta descrição diz respeito às informações apresentadas pelo gerenciador de pacotes sobre o pacote. Aqui, podemos mostrar, por exemplo, que se trata de uma calculadora para console.
Pode-se observar também que « checkinstall »"passe por um « make install » para criar nosso futuro pacote.
This package will be built according to these values:
0 - Maintainer: [ root@localhost.localdomain ]
1 - Summary: [ uma calculadora ]
2 - Name: [ bc-1.06 ]
3 - Version: [ 1.06 ]
4 - Release: [ 1 ]
5 - License: [ GPL ]
6 - Group: [ checkinstall ]
7 - Architecture: [ i386 ]
8 - Source location: [ bc-1.06 ]
9 - Alternate source location: [ ]
Enter a number to change any of them or press ENTER to continue:
On peut ensuite modifier l'entete du futur paquetage en verifiant que les informations sont exactes.
Você pode em seguida, alterar o cabeçalho do futuro pacote, verificando se as informações estão corretas.
*****************************************
* Debian package creation selected ***
*************************************
Building Debian package...OK
Installing Debian package...OK
Erasing temporary files...OK
Deleting temp dir...OK
**********************************************************************
Done. The new package has been installed and saved to
/usr/src/progperso/bcbc-1.06/bc-1.06_1.06-1_i386.deb
You can remove it from your system anytime using:
dpkg -r bc-1.06
**********************************************************************
No caso de um Debian-like (aqui Ubuntu 5.10), obtemos então o pacote bc-1.06_1.06-1_i386.deb que é criado no diretório de compilação.
E, como indicado, basta um "dpkg -r bc-1.06" para desinstalar facilmente a nossa calculadora.
Observe que no caso, por exemplo, do Fedora, o pacote não é instalado automaticamente. Além disso; ele se encontra, na sua criação, no diretório /usr/src/redhat/RPMS/
arquitetura/.
Artigo
original publicado por
Phiphi57