Configurando o RTorrent com Screen no Arch Linux
fevereiro 6, 2009 1 Comentário
Já faz algum tempo, quando o Azureus virou Vuze, que ando evitando o mesmo por gastar muita memória ram. Desde então venho testando vários e vários clientes de torrent no meu Archlinux.
Por causa de alguns problemas, em sua maior parte, sem tempo para configurações textuais minimalistas, terminei utilizando Kde durante o kde 4.1, e esqueci dos programas de baixo consumo de recursos.
Até então utilizando o Deluge como cliente oficial de torrents, pois não consumia tanta memória quanto o Azureus, na realidade metade, e ainda assim tinha boas configurações.
Porém, ocorreu uma queda de energia em casa e o deluge perdeu seus arquivos de status, e simplesmente bugou, perdendo todas as informações sobre os meus torrents ativos.
Sendo assim, resolvi procurar outra solução para o meu problema, e então testei o rtorrent. Eu já havia ouvido sobre o mesmo a não muito tempo atrás, porém, com a ideologia do Kde todo pronto, nunca havia parado para testá-lo.
Vamos configurar o RTorrent para trabalhar em background através do Screen.
Instalando:
Como sempre, utilize o pacman:
# pacman -Sy screen rtorrent
Configurando:
As configuração são realizadas através dos arquivos ~/.screenrc e ~/.rtorrent.rc, Screen e RTorrent respectivamente. Os arquivos de configuração são auto explicativos. Eu não alterei absolutamente nenhuma configuração do Screen e somente algumas no RTorrent, segue o meu ~/.rtorrent.rc
~/.rtorrent.rc
# This is an example resource file for rTorrent. Copy to
# ~/.rtorrent.rc and enable/modify the options as needed. Remember to
# uncomment the options you wish to enable.
# Maximum and minimum number of peers to connect to per torrent.
#min_peers = 40
#max_peers = 100
# Same as above but for seeding completed torrents (-1 = same as downloading)
#min_peers_seed = 10
#max_peers_seed = 50
# Maximum number of simultanious uploads per torrent.
max_uploads = 4
# Global upload and download rate in KiB. "0" for unlimited.
download_rate = 0
upload_rate = 22
# Default directory to save the downloaded torrents.
directory = ~/torrents/
# Default session directory. Make sure you don't run multiple instance
# of rtorrent using the same session directory. Perhaps using a
# relative path?
session = ~/torrents/.session/
# Watch a directory for new torrents, and stop those that have been
# deleted.
schedule = watch_directory,5,5,load_start=~/torrents/watch/*.torrent
schedule = untied_directory,5,5,stop_untied=
# Close torrents when diskspace is low.
schedule = low_diskspace,5,60,close_low_diskspace=1200M
# Stop torrents when reaching upload ratio in percent,
# when also reaching total upload in bytes, or when
# reaching final upload ratio in percent.
# example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0
#schedule = ratio,60,60,"stop_on_ratio=200,200M,2000"
# The ip address reported to the tracker.
#ip = 127.0.0.1
#ip = rakshasa.no
# The ip address the listening socket and outgoing connections is
# bound to.
#bind = 127.0.0.1
#bind = rakshasa.no
# Port range to use for listening.
port_range = 6890-6999
# Start opening ports at a random position within the port range.
port_random = no
# Check hash for finished torrents. Might be usefull until the bug is
# fixed that causes lack of diskspace not to be properly reported.
check_hash = yes
# Set whetever the client should try to connect to UDP trackers.
use_udp_trackers = yes
# Alternative calls to bind and ip that should handle dynamic ip's.
#schedule = ip_tick,0,1800,ip=rakshasa
#schedule = bind_tick,0,1800,bind=rakshasa
# Encryption options, set to none (default) or any combination of the following:
# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext
#
# The example value allows incoming encrypted connections, starts unencrypted
# outgoing connections but retries with encryption if they fail, preferring
# plaintext to RC4 encryption after the encrypted handshake
#
# encryption = allow_incoming,enable_retry,prefer_plaintext
encryption = allow_incoming,try_outgoing,enable_retry
# Enable DHT support for trackerless torrents or when all trackers are down.
# May be set to "disable" (completely disable DHT), "off" (do not start DHT),
# "auto" (start and stop DHT as needed), or "on" (start DHT immediately).
# The default is "off". For DHT to work, a session directory must be defined.
#
# dht = no
# UDP port to use for DHT.
#
# dht_port = 6881
# Enable peer exchange (for torrents not marked private)
#
peer_exchange = yes
#
# Do not modify the following parameters unless you know what you're doing.
#
# Hash read-ahead controls how many MB to request the kernel to read
# ahead. If the value is too low the disk may not be fully utilized,
# while if too high the kernel might not be able to keep the read
# pages in memory thus end up trashing.
#hash_read_ahead = 10
# Interval between attempts to check the hash, in milliseconds.
#hash_interval = 100
# Number of attempts to check the hash while using the mincore status,
# before forcing. Overworked systems might need lower values to get a
# decent hash checking rate.
#hash_max_tries = 10
Depois precisaremos criar as pastas indicadas no arquivo:
$ mkdir ~/torrents
$ mkdir ~/torrents/watch
$ mkdir ~/torrents/.session/
Utilizando:
Para utilizar o RTorrent através do Screen é muito fácil. Abra seu terminal e digite:
$ screen
Isso fara com que uma sessão do screen seja aberta, agora chame o RTorrent dentro da sessão aberta:
$ rtorrent
E o RTorrent já estará carregado dentro do screen.
Para sair do screen e manter o RTorrent aberto faça a combinação de teclas:
Ctrl + A, solte as duas e em seguida tecle D.
O Screen será “detached” e continuará rodando o RTorrent em background. Para retornar a sessão do Screen basta digitar o comando:
$ screen -r
Para fechar o RTorrent digite a combinação de teclas:
Ctrl + q
Para fechar o Screen primeiramente feche o RTorrent e logo em seguida digite:
$ exit
Para adicionar torrents há várias maneiras, porém eu me utilizo simplesmente da pasta watch que criamos. Para tal basta mover o arquivo.torrent para dentro dela:
$ mv arquivo.torrent ~/torrents/watch/
Para remover os torrents, adivinhem, basta remover ou mover o arquivo.torrent da pasta watch:
$ rm ~/torrents/watch/arquivo.torrent
ou
$ mv ~/torrents/watch/arquivo.torrent ~/
Para maiores informações de como utilizar os comandos internos do RTorrent acesse o manual do usuário do mesmo.
Como nota final, o RTorrent e o Screen mais todas as bibliotecas necessárias para o seu funcionamento ocupam singelos 15 Megabyes de memória ram.
Até a próxima.
muito bom tutorial! 5*! abraço de Portugal