Pada episode ini kalian mengatur direktori dan nama file output dengan opsi dir dan out, menangani konflik nama file, memahami file kontrol aria2, serta memastikan integritas file besar lewat checksum dan pemeriksaan integritas.

Enam episode terakhir mengunduh banyak data, tetapi belum membicarakan satu hal yang menentukan kualitas workflow kalian di dunia nyata: ke mana semua file itu mendarat, dengan nama apa, dan bagaimana memastikan tidak ada yang korup. Server produksi penuh dengan file ISO hasil download, tetapi tanpa manajemen direktori yang rapi dan verifikasi integritas, pekerjaan itu bisa berantakan diam-diam — file hilang di direktori acak, versi lama tertimpa, atau file besar yang ternyata rusak baru diketahui setelah dipakai.
Episode ini menutup materi protokol dan membahas aspek paling praktis: -d dan -o untuk tujuan dan nama file, perilaku aria2 saat nama bentrok, file kontrol .aria2, serta cara memverifikasi integritas file besar secara efektif.
Dua opsi yang paling sering dipakai untuk mengatur tujuan: -d (alias --dir) menentukan direktori tujuan, dan -o (alias --out) menentukan nama file di disk.
aria2c -d /srv/downloads -o rilis-terbaru.tar.gz \
https://mirror.example.com/releases/app-2026.08.tar.gzNama file di disk kini rilis-terbaru.tar.gz, bukan nama yang diberikan server. Ini berguna ketika nama server tidak deskriptif, berubah setiap rilis, atau mengandung karakter yang menyulitkan tooling lain.
Satu batasan yang perlu diingat: -o berlaku untuk download HTTP/FTP yang diberikan langsung di command line, dan tidak untuk BitTorrent atau Metalink — di sana nama file sudah ditentukan oleh metadata. Untuk torrent, gunakan --index-out=<INDEX>=<PATH> yang memetakan indeks file ke path tujuan, sementara --force-sequential membuat nama file diambil dari URL secara berurutan.
Bagaimana jika file dengan nama yang sama sudah ada di direktori tujuan? Secara default aria2 melakukan rename otomatis: menambahkan angka sebelum ekstensi. app.tar.gz yang sudah ada akan menghasilkan app.1.tar.gz, lalu app.2.tar.gz, dan seterusnya.
aria2c -d /srv/downloads https://mirror.example.com/app.tar.gz
aria2c -d /srv/downloads https://mirror.example.com/app.tar.gz
ls /srv/downloadsHasilnya dua file: app.tar.gz dan app.1.tar.gz. Perilaku ini dikendalikan --auto-file-renaming (aktif secara default). Untuk sebaliknya — menimpa file lama dari awal — gunakan --allow-overwrite. Pilihan yang tepat bergantung konteks: rename aman untuk download paralel, overwrite tepat untuk pembaruan berkala yang memang ingin menggantikan versi lama.
Selama download berlangsung, aria2 membuat file kontrol di samping file tujuan dengan akhiran .aria2 — misalnya app.tar.gz.aria2. File kecil ini mencatat potongan mana yang sudah terunduh, menjadi dasar resume --continue dari episode 5.
Karena file kontrol inilah resume bisa terjadi tanpa mengulang dari nol: aria2 membaca posisi terakhir lalu melanjutkan dari sana. File ini biasanya dihapus setelah download selesai. Kalian bisa mengatur seberapa sering status disimpan ke disk lewat --auto-save-interval — nilai default 60 detik adalah keseimbangan yang masuk akal antara keamanan resume dan I/O disk.
Warning
Kehilangan file kontrol berarti kehilangan kemampuan resume. Pengecualian: jika kalian punya torrent atau metalink dengan piece checksum, download bisa diperbaiki dengan -V tanpa file kontrol — itulah alasan checksum selalu bernilai untuk file besar.
Setelah berjam-jam mengunduh file 10 GiB, kalian tidak ingin baru tahu kerusakannya saat file dipakai. aria2 menyediakan beberapa lapisan verifikasi:
aria2c --checksum=sha-256=4e3b7c2a9f1d5e6b8c7a1f2e3d4c5b6a7f8e9d0c \
https://mirror.example.com/app.iso--checksum menetapkan hash yang harus cocok untuk download HTTP/FTP. Jika cocok, file dianggap sah; jika tidak, download diulang.
aria2c -d /srv/iso --check-integrity=true \
/srv/meta/debian-live-12.meta4--check-integrity (atau -V) memvalidasi file yang sudah ada terhadap checksum yang tersedia. Untuk BitTorrent dan Metalink yang punya piece checksum, pemeriksaan terjadi per potongan — dan hanya potongan yang rusak yang diunduh ulang. Bandingkan dengan pendekatan seluruh-file: hash tidak cocok berarti mengulang semuanya dari awal. Untuk file berukuran puluhan GiB, perbedaan ini berarti menit versus jam.
Kombinasikan dengan --hash-check-only=true untuk sekadar memeriksa tanpa men-download apa pun — berguna untuk audit rutin koleksi file di storage.
Ada satu opsi lagi yang berdampak besar pada keandalan jangka panjang: --file-allocation. Secara default aria2 melakukan prealloc — memesan ruang disk penuh sebelum download dimulai, sehingga gagal di tengah jalan tidak akan mengaburkan file. Pada filesystem modern seperti ext4, btrfs, atau xfs, falloc melakukan hal yang sama secara instan:
aria2c -d /srv/downloads --file-allocation=falloc \
https://mirror.example.com/big-file.isoPada filesystem lama seperti ext3 atau FAT32, falloc tidak dianjurkan; prealloc tetap pilihan aman. Mengalokasikan penuh di awal juga menandakan kekurangan disk secepat mungkin — jauh lebih baik daripada menemukannya di detik terakhir.
Untuk workflow yang lebih besar, jangan mengatur setiap download satu per satu. Gabungkan kekuatan episode 6: satu input file yang mengatur tujuan per file. Setiap baris URI diikuti baris opsi yang memetakan file ke direktori dan nama yang tepat.
# Arsip log bulanan
https://cdn.example.com/logs/2026-07.gz
dir=/srv/logs/2026-07
out=combined.log.gz
https://cdn.example.com/logs/2026-08.gz
dir=/srv/logs/2026-08
out=combined.log.gzaria2c -i organisir-batch.txt -j 4Dengan pola ini, struktur direktori di disk mengikuti konvensi yang sama di setiap batch: direktori per periode, nama file yang konsisten. Tidak ada lagi tebakan "file ini diunduh ke mana". Struktur yang rapi bukan sekadar kebiasaan — ia membuat automation di atas hasil download (backup, indexing, pemrosesan) bisa diasumsikan dengan aman.
Akhirnya, satu prinsip yang menyatukan semuanya: putuskan konvensi direktori sekali, lalu buat aria2 mematuhinya secara otomatis lewat konfigurasi dari episode 8. Contoh struktur sederhana:
/srv/downloads/
├── iso/ # image sistem operasi
├── packages/ # paket aplikasi
└── backup/ # arsip cadangandir di aria2.conf menunjuk ke /srv/downloads, dan opsi dir= per-URL menempatkan file ke subdirektori yang tepat. Kombinasi konfigurasi global dan opsi per-URL menghasilkan gudang file yang terprediksi dan mudah diaudit.
Pada episode 11 ini kalian sudah mengatur direktori dan nama file dengan -d dan -o, memahami rename otomatis --auto-file-renaming untuk konflik nama, mengenal file kontrol .aria2 dan perannya dalam resume, memverifikasi integritas dengan --checksum dan --check-integrity, serta memilih strategi alokasi file yang tepat.
Yang paling penting untuk dibawa pulang: keandalan download ditentukan setelah file mendarat, bukan saat file berjalan. Direktori yang rapi dan verifikasi checksum yang otomatis mengubah gudang file kalian dari tumpukan yang mencurigakan menjadi aset yang bisa diandalkan.
Di episode 12 berikutnya kita membuka jalur keluar: proxy dan networking — mengarahkan semua download lewat proxy HTTP dan SOCKS, serta optimasi jaringan di berbagai kondisi. Sampai jumpa!