FreeBSD
Download, Descompactação e Extração de Arquivos
Não é objetivo deste material abranger tópicos básicos como download, descompactação e extração de arquivos, mas como é importante termos facilidade com estas tarefas para agilizar os processos de instalação de software, entre outros. Vou abordar de forma concisa e prática os principais pontos.
Para facilitar a organização, crie um diretório como por exemplo /usr/originais onde serão guardados todos os arquivos baixados, antes de qualquer descompactação. Assim, teremos sempre uma cópia do que for instalado, o que pode ser útil posteriormente. Crie também uma área para descompactar, extrair, configurar e compilar os programas, pode ser algo como /usr/instala ou então no próprio /tmp. Não esqueça de apagar o que foi colocado no /tmp, após a instalação do programa.
Em caso de dúvidas ou para aprender mais sobre qualquer dos utilitários apresentados consulte a respectiva "man page", como por exemplo "man fetch".
Download
O download de arquivos como aplicativos, códigos-fonte (sources) e outros pode ser feito de várias formas no FreeBSD. Caso o arquivo esteja em um servidor HTTP, podemos usar o programa Fetch. Se o arquivo estiver em um servidor FTP, podemos usar o cliente FTP ou também o Fetch. Qualquer deles pode ainda ser associado ao nohup, caso o download seja demorado e desejamos efetuar logoff da seção deixando o processo rodar em background. Seguem abaixo alguns exemplos:
Efetuar o download de arquivo via HTTP:
# fetch
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] # nohup fetch
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] &
O nohup irá deixar o comando rodando em background, mesmo que se efetue logoff da sessão. Deverá ser verificado posteriormente o arquivo nohup.out, que irá conter qualquer saída (stdout) do comando.
Efetuar o download de arquivo via FTP:
# fetch
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] # ftp
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] # ftp -ai
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link]O parâmetro -a indica que deseja-se fazer login anônimo, e o -i indica que deseja-se uma sessão não interativa.
# nohup ftp -ai
[Tens de ter uma conta e sessão iniciada para poderes visualizar este link] &
Descompactação
Para efetuar a descompactação de um arquivo, devemos avaliar qual o formato de compactação do mesmo, através da extensão. Veja as mais comuns:
Extensão Compactador Descompactador
.gz gzip gunzip
.Z compress uncompress
.zip zip unzip
.bz bzip bunzip
.bz2 bzip2 bunzip2
Exemplos:
# gunzip postfix-2.0.16.tar.gz
# unzip httpd-2.0.48-win32-src.zip
# bunzip2 proftpd-1.2.9.tar.bz2
Caso algum dos utilitários não esteja presente no seu sistema, pode ser facilmente instalado através do Ports, encontram-se no diretório /usr/ports/archivers.
Extração
Neste tópico iremos nos ater a arquivos "empacotados" com o formato Tar, que foi criado originalmente para trabalhar com arquivos em fitas magnéticas, daí o seu nome, Tape ARchiver. Para criar ou extrair arquivos com a extensão .tar é o utilizado o programa tar, que vem instalado por padrão no FreeBSD. Arquivos com a extensão .tgz são arquivos Tar que foram compactados, assim como .tar.gz, e também são chamados "tarball". Seguem abaixo alguns exemplos comuns:
Extrair arquivo .tar:
# tar xvf postfix-2.0.16.tar
Parâmetros usados neste caso:
x -> extract (extrai)
v -> verbose (lista os arquivos extraídos)
f -> file (indica qual o arquivo a ser processado)
O comando tar trabalha com recursividade, então neste caso será criado o diretório postfix-2.0.16 contendo os arquivos extraídos.
Descompactar e extrair arquivo .tar.gz:
# tar xvzf postfix-2.0.16.tar.gz
O parâmetro adicional usado foi o "z", que indica que o arquivo deve ser primeiramente descompactado, e após isso extraído ou "desempacotado".
Descompactar e extrair no diretório /tmp um arquivo que se encontra em /usr/originais:
# cd /tmp
# tar xvzf /usr/originais/postfix-2.0.16.tar.gz
Neste caso, o tar irá ler o arquivo que se encontra em /usr/originais, mas extrairá o seu conteúdo no /tmp.