Hey, i see some confusion so let me sum up it a bit here ...
As stated above transmission downloads by default to
/usr/local/etc/transmission/home/Downloads
which is inside the jail. This is not quite "nice" and most of the users would like to have outside storage for Download dir. You have two options here.
1] Create a mount point from host NAS pointing to the default download path.
Source is the "real" path provided by host system. So for example "
/mnt/pool/downloads/transmission
" where "pool" is a pool and "downloads" is a dataset and "transmission" is a directory (which is owned by the transmission user with the same UID like the user inside transmission jail)
Destination will be the full path on the NAS host system going through the jail storage dataset followed by the transmission download path. So it will be:
/mnt/<pool>/<iocagedataset>/jails/transmission/root/usr/local/etc/transmission/home/Downloads
where the "root" in the path is "/" inside the jail.
Note that IF you already downloaded some files you have to MOVE them first before creating mount point. If you already created a mount-point over the directory the files will be unreachable (yet still there). This is a common mistake. If you did this just stop jail, remove mount point, start jail again, move the files elsewhere, stop jail, create the mount-point, start jail and move the downloaded files back.
(Yea you can technically stop the jail, get the full path to jail storage, then the download path and move the files but i don't want to confuse people here)
2] Change the download directory to another path/mount-point
- First create a mount directory inside the jail. So if you want torrents to be downloaded to
/Download
create that directory first and chmod 777 it (restrictive permission of the underlying directory can cause weird behavior)
- Stop the jail and create the mount point for the jail.
Source - same as in previous point
Destination - The first half will be still the full path to jail root so like
/mnt/<pool>/<iocagedataset>/jails/transmission/root/
. Then whatever comes after will be the path inside jail. So in our case it is /Download meaning the full Destination will be
/mnt/<pool>/<iocagedataset>/jails/transmission/root/Download
- Start the jail and update the download path for transmission
Transmission settings are stored in
/usr/local/etc/transmission/home/settings.json
but in this case the Download path can NOT be changed there as it is loaded from daemon config.
So instead of modifying settings.json
stop the transmission service and change the
transmission_download_dir
inside
/usr/local/etc/rc.d/transmission
file. Use the path relative to your jail root, not the host system! So in our example it will be:
: ${transmission_download_dir=/Download}
Now start the transmission and check that the download path was changed in settings.json
# grep download-dir /usr/local/etc/transmission/home/settings.json
"download-dir": "/Download",
Side-note: If you're using separated directory for incomplete torrents you might want to update the path as well. If so then stop transmission service and edit "incomplete-dir" inside settings.json file. So for example:
# grep incomplete-dir /usr/local/etc/transmission/home/settings.json
"incomplete-dir": "/Download/incomplete",
"incomplete-dir-enabled": true,
Then start the transmission service again.
If you already downloaded any torrents before you have to do two things
- Move the files from the old download path to the new path (obvious i know)
- UPDATE the download path in your Torrent client otherwise it will still use the old path (which will be empty if you move the files). It depends on GUI you're using.
In case of
transgui just right-click on torrent and click "Set data location" and update the path to the new one.
As you can see transgui can even handle the data move for you so you can even skip the first step and let the client to move the data and update the path. If you already moved the files un-tick that option.
Confirm and re-start the torrent. It should verify the downloaded torrent just fine.
Hope this helps :]