Recently I went through the process of upgrading rtorrent-0.8.2 and libtorrent-0.12.2 on my Ubuntu 9.04 box to the latest versions, rtorrent-0.8.5 and libtorrent-0.12.5. Unfortunately what should be a simple process was rather complicated because the developer has not yet updated the project’s website to reflect all of the changes that have been made to the configuration options in version 0.8.4 (which was released nearly a year ago!). After dozens of Google searches I was able track down the information I needed. In addition, I have added notes on hiccups I ran into when compiling RTorrent from source and getting RTorrent to work with dtach.
To compile LibTorrent I needed to install the
libsigc++-2.0-dev package. To compile RTorrent I needed to install
libcurl4-openssl-dev. Both can be installed via apt-get:
sudo apt-get install libsigc++-2.0-dev libcurl4-openssl-dev
The New Ratio Syntax
This actually has been documented to some extent on the RTorrentRatioHandling wiki page. Unfortunately “The basics” make little sense to me. Here is what I did:
Remove my old schedule command to stop torrents when they reach a certain ratio:
schedule = ratio,60,60,"stop_on_ratio=100"
And replace it with:
# Enable the default ratio group. ratio.enable= # Change the limits ratio.min.set=100 #ratio.max.set=300 #ratio.upload.set=20M
My desired behavior is for RTorrent to close a torrent when its ratio reaches 1.0 which is why I am only setting ratio.min.set.
I am extremely curious why the developer decided to make the configuration command to enable ratios
ratio.enable=. The equals sign on the end of the line makes the option feel very incomplete and does not make sense.
Deprecated on_* commands
All of the on_* commands are now deprecated.1 This includes on_start, on_stop, on_finished, and on_erase. I use an on_finished command to move finished torrents to a separate directory which had to be changed.
# deprecated on_finished command # on_finished = move_complete,"d.set_directory=~/torrents/finished/ ;execute=mv,-u,$d.get_base_path=,~/torrents/finished/" # Equivalent on_finished for rtorrent > 0.8.4 system.method.set_key = event.download.finished,move_complete,"d.set_directory=~/torrents/finished/ ;execute=mv,-u,$d.get_base_path=,~/torrents/finished/"
On a whim I decided to switch to running RTorrent with dtach instead of inside GNU Screen. My hope is that dtach will perform a little better. Unfortunately when I opened RTorrent with dtach my arrow keys changed my download threshold instead of navigating the list of torrents. A fix that I found is to specify
TERM=linux when launching dtach.2
env TERM=linux dtach -c /tmp/rtorrent.dtach rtorrent
Once again I find it why this works to be a mystery but no explanation was given.
I have a lot of respect for the creator of RTorrent/LibTorrent. He has created an excellent Bittorrent client and backend that I have been happily been using for a couple years. However, I think it is very poor form that he released new updates that change the configuration interface without properly documenting the upgrade path on the website. This was frustrating enough that I tried to update the LibTorrent trac but public accounts are not allowed, blocking my attempt to help.