Baixando pacotes pré-compilados no FreeBSD

Após instalar o FreeBSD 8.0 no meu modesto computador para tarefas rotineiras, veio a necessidade de instalar alguns pacotes. O FreeBSD tem duas modalidades de instalação de pacotes:

  • O sistema de ports, que automatiza a tarefa de baixar código-fonte e compilá-lo, além de adaptar alguns pacotes ao seu gosto: o sistema ajuda você a habilitar ou desabilitar opções de vários pacotes, como suporte a Unicode, X11, bibliotecas adicionais etc.
  • Pacotes binários pré-compilados, familiares pra quem vem do Linux (como eu).

O FreeBSD possui uma ferramenta simpática chamada pkg_add que lembra o apt-get, pacman ou yum do Linux, baixando pacotes nos repositórios do FreeBSD. Porém, ao pedir pro pkg_add instalar alguns pacotes, como o Transmission, ele instalou versões mais antigas. Fuçando no FTP do FreeBSD, achei pacotes mais recentes dos pacotes. A próxima briga foi pra fazer o pkg_add usar apenas esses pacotes mais novos (dum diretório amigavelmente chamado Latest).

O truque é simples: quando você executa pkg_add -r nomedopacote, o pkg_add busca por $PACKAGESITE/nomedopacote.tbz. Se você fuçar pelos diretórios dos mirrors do FreeBSD vai perceber que os pacotes normalmente se chamam nomedopacote-versão.tbz, exceto os do diretório Latest, que instalam automaticamente a última versão disponível. Nos comandos abaixo, reparem que usei o sistema para arquitetura 64 bits (amd64), se sua instalação for para x86 32 bits, troque amd64 por i386.

Assim, pra instalar o vim, usei o seguinte comando no bash:

[sourcecode language=”text” light=”true” wraplines=”false”][root@tinhoso /home/esdras]# export PACKAGESITE="ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/"
[root@tinhoso /home/esdras]# pkg_add -r vim[/sourcecode]

Você pode, ainda, acrescentar o comando do export no seu arquivo ~/.profile, o que fará o comando ser executado automaticamente a cada login:

[sourcecode language=”text” light=”true” wraplines=”false”][root@tinhoso ~]# echo export PACKAGESITE=\"ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/\" >> ~/.profile[/sourcecode]

Caso você use csh (shell padrão no FreeBSD!), o comando muda:

[sourcecode language=”text” light=”true” wraplines=”false”]tinhoso# setenv PACKAGESITE ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/
tinhoso# pkg_add -r nano[/sourcecode]

Para tornar a variável permanente, acrescente esse comando no arquivo ~/.cshrc:

[sourcecode language=”text” light=”true” wraplines=”false”]tinhoso# echo setenv PACKAGESITE ftp://ftp4.freebsd.org/pub/FreeBSD/ports/amd64/packages-8-stable/Latest/ >> ~/.cshrc[/sourcecode]

Fontes

Acessando a FreeNode com XChat e Tor

Edição posterior: esse tutorial parece ter deixado de funcionar… Há outro tutorial de um dos visitantes que menciona ter tentado meu tutorial, não conseguiu fazê-lo funcionar mas achou uma solução. Recomendo que tentem ele no lugar do meu… 🙂 Vou deixar o meu aqui por razões históricas.

Servidores IRC costumam ser bloqueados em uma boa quantidade de redes. As desculpas para isso são diversas: as pessoas vão perder tempo no bate-papo, podem puxar pirataria em file servers e por aí vai. No entanto, como tudo na internet (até mesmo o orkut), o IRC também pode ser usado para boas finalidades, inclusive finalidades profissionais. Por exemplo, tirar dúvidas de desenvolvimento em canais especializados da rede FreeNode. Mas os firewalls e proxies não sabem das suas intenções…

Para esse feito, utilizei Tor e XChat. Importante: ao conectar, ele requisitou autenticação SASL, o que me fez procurar um script que habilitasse SASL no XChat. Para esse caso, também foi necessário já ter um  nickname registrado na FreeNode.

As instruções:

  1. Primeiro você precisa instalar o Tor na sua distribuição Linux. No meu Arch Linux, um pacman -S tor resolveu. Edite o arquivo /etc/tor/torrc e acrescente a seguinte linha no fim do arquivo:
    mapaddress  10.40.40.40  p4fsi4ockecnea7l.onion
  2. Salve o arquivo e reinicie o serviço. No Arch Linux, isso é feito com
    /etc/rc.d/tor restart

    Na maioria das outras distribuições populares, isso é feito com

    /etc/init.d/tor restart
  3. Você precisará usar esse script para habilitar SASL no XChat.  Ponha-o no diretório ~/.xchat2 .
  4. Inicie o XChat. Vá no menu Settings > Preferences.
  5. Vá em Network > Network Setup.
  6. Defina o proxy para localhost, porta 9050, tipo Socks5.
  7. Feche as configurações. Agora vá em File > Server list e crie uma nova rede. A minha eu chamei de FreeNode_Tor.
  8. Abra as configurações da sua nova rede e adicione o servidor p4fsi4ockecnea7l.onion/6667.
  9. Agora você vai acrescentar suas configurações do SASL:
    /SASL -set FreeNode_Tor <seu nick> <sua senha>
  10. Conecte ao servidor:
    /server 10.40.40.40

Fontes:

Delicious no Chrome

Até pouco tempo atrás, quem queria usar Delicious no Google tinha que criar botões na barra de bookmarks com gambiarras em JavaScript. Agora temos uma extensão (não-oficial do Delicious) que já nos livra desse serviço.

No momento, ela só faz o que está descrito na figura: adiciona um novo bookmark no Delicious e mostra links para seus bookmarks e inbox do Delicious.

Não há integração dos bookmarks do Delicious com o Chrome, por exemplo. Como nunca gostei de misturar os bookmarks, achei suficiente: simples e funcional.

Transmission

Eu estava procurando, esses dias, um bom cliente para baixar torrents.  Queria um programa mais leve: eu estava usando o Vuze, mas para uma tarefa simplória de baixar torrents usar o Vuze é matar mosca com canhão, já que ele tem muito mais recursos do que eu realmente usava. O próprio site do Vuze já o descreve como “o mais poderoso cliente BitTorrent do mundo”, mas eu não precisava de tamanha munição.

Queria um programa que pudesse rodar em background e ser controlado de outro computador, assim eu poderia, por exemplo, pôr um torrent para baixar usando o computador do trabalho e encontrar os arquivos quando chegasse em casa. No meio dessa busca, o Silveira me sugeriu o Transmission, e também me mandou um artigo do Xisberto tratando do programa.

O Transmission pode rodar de várias maneiras: como daemon, assim que o serviço inicia, ou como um programa comum, com interface gráfica (Qt, GTK e Mac). As interfaces são simples, porém funcionais. Abaixo, o screenshot da interface em GTK:

Interface GTK do Transmission

Também há uma interface web que pode controlar o daemon ou o cliente gráfico que você estiver usando. A interface é similar à do cliente gráfico, e baseada no look & feel do Mac:

Interface web do Transmission

O site do Transmission possui uma seção de add-ons que vale a pena consultar. Há várias maneiras alternativas de controlar o Transmission à distância, e um porte do Transmission para Windows a caminho.