
Linux 배포판 ISO 및 LibreOffice 버전과 같은 일부 파일을 시드하기 위해 Linux 시스템에서 Transmission-gtk BitTorrent 클라이언트(v2.94)를 사용한다고 가정해 보겠습니다. 기본 "위치에 저장"이 다음이고 /path1/torrents
불완전한 토렌트 경로가 이라고 가정합니다 /path1/torrents/incomplete
.
이제 Transmission-gtk를 종료하고 이름을 다음 /path1
으로 변경한다고 가정합니다 /path2
(이전 경로를 새 경로에 심볼릭 링크하지 않음).
앱의 구성 대화 상자나 에서 향후 토렌트 위치를 변경하는 것은 간단합니다 $HOME/.config/transmission
. 그러나 이렇게 하면 이전에 활성화된 모든 토렌트가 이제 빨간색으로 표시되며 데이터가 누락된 것으로 추정됩니다.
기존 토렌트(완전 및 불완전)의 위치를 수정하려면 어떻게 해야 합니까? 그리고 - 명령줄(예: 의 파일)에서 수행할 수 있도록 자동화할 수 있습니까 $HOME/.config/transmission/resume
?
답변1
토렌트를 마우스 오른쪽 버튼으로 클릭하고 "위치 설정"을 클릭한 다음 새 상위 디렉터리( /path2/torrents
이 경우)를 선택합니다. 모든 토렌트가 동일한 디렉터리로 이동된 경우 모든 토렌트에 대해 이 작업을 한 번에 수행할 수 있습니다.
위치를 업데이트한 후 다시 마우스 오른쪽 버튼을 클릭하고 "로컬 데이터 확인"을 선택하면 전송에서 이미 다운로드된 파일/부분을 다시 확인할 수 있습니다.
이는 CLI에서 자동화할 수 있지만 먼저 Transmission에서 "웹 UI" 기능을 활성화하면 transmission-remote
.
각 토렌트에 대해 transmission-remote --find
새 상위 디렉터리로 실행하세요.
~/.config/transmission/resume/에 있는 파일은 .torrent 파일 자체와 동일한 "Bencode" 형식이며 아마도 Perl의 Convert::Bencode 또는 매우 신중한 sed'ing을 사용하여 수정할 수 있지만 저는 내가 그 방법을 추천할지 잘 모르겠습니다.
최상위 사전에서 "대상" 항목을 업데이트하고 싶을 것입니다.
$ bencode2json < 16a3968b347a81845384394e7f1b38656aeee97a.resume | head
{
"activity-date": "1619012434",
"added-date": "1619011497",
"bandwidth-priority": "0",
"corrupt": "0",
"destination": "/home/xxx/Downloads",
"dnd": [
...
(직접 바이너리 편집을 사용하는 경우 Bencoded 문자열 앞에는 업데이트해야 하는 길이가 앞에 붙습니다(예: 19:/home/xxx/Downloads
이 경우).)
답변2
@user1686의 훌륭한 답변에 추가: 모든 토렌트의 위치를 한 번에 업데이트할 수 있습니다.
- "표시:" 표시줄에서 "모두" 및 "모두"를 선택합니다(모든 토렌트가 표시되도록).
- 보이는 토렌트를 모두 선택하려면 Ctrl+A를 누르세요.
- 선택한 토렌트 중 하나를 마우스 오른쪽 버튼으로 클릭합니다.
- "위치 설정"을 선택합니다.
- "기타"를 선택하세요.
- 토렌트용 새 폴더(귀하의 경우 "/path2/torrents")로 이동합니다.
- "로컬 데이터가 이미 존재합니다"를 선택하십시오.
- "적용"을 클릭하세요.
- 토렌트가 업데이트될 때까지 잠시 기다려주세요.
- 대화상자가 사라지면 Transmission-gtk를 다시 시작하세요.
귀하의 토렌트는 모두 재개 가능한 것으로 인식되어야 합니다. 그래도 실제로는 다시 시작해야 합니다. 데이터를 찾을 수 없으면 자동으로 일시 중지됩니다.