Bu isin en temiz yolu RClone'dur.
Isteyenler RClone Manager'i kullanabilir ama tum ozellikler var mi bilmiyorum, denemedim.
GNOME veya KDE'deki native cozumler bu kadar esnek degil. Hizlari dusuk, RAM ve islemci kullanimlari fazla. O yuzden en temizi kendi ihtiyaciniza gore duzenlemek.

RClone'u kurun.

Debian/Ubuntu: sudo apt install rclone

Arch: sudo pacman -S rclone

Fedora sudo dnf install rclone
  • Terminale rclone config yazin.
  • n ile yeni istemci olusturun.
  • Bosluk kullanmadan isim verin ve ismi not edin.
  • Listeden Google Drive'i secin (18).
  • Her seyi bos birakip Enter'a basin. Bir sey girmeniz gerekmiyor. Application ID girince daha hizli olacagi yaziyor ama gerek yok. 1000/1000 internette gayet hizli kullaniyorum.
  • scope kisminda 1 - Full Access'i secin.
  • Geri kalan seylere de Enter diyin.
  • Sonra tarayicida onaylama sayfasi acilacak, onay verin.
  • Sonra Y'ye basip onaylayin.
  • En son Q'ya basip cikin.
Herhangi bir anahtar veya baska bir yere girmeniz gerekmiyor. Enter Enter diyip ilerleyeceksiniz yani.

Baglamak icin home dizininizde bir klasor olusturun.
Sonra denemek icin terminale:
rclone mount paylasim_adi /home/kullaniciadi/BaglamakIstediginizKlasor seklinde komut verin.
Eger baglanti oluyorsa simdi ayar cekecegiz. Olmuyorsa bastan deneyin.

Baglantiyi sonlandirmak icin terminalde CTRL C yapin.

Simdi ben bu ayarlari kullanarak mount ediyorum. Ne yaptigini da aciklayacagim:
Bash:
rclone mount gdrive: /home/hanzo/GoogleDrive \
                   --vfs-cache-mode full \
                   --vfs-cache-max-size 50G \
                   --vfs-cache-max-age 72h \
                   --vfs-write-back 10s \
                   --vfs-fast-fingerprint \
                   --dir-cache-time 168h \
                   --attr-timeout 8760h \
                   --poll-interval 60s \
                   --transfers 16 \
                   --checkers 16 \
                   --drive-chunk-size 512M \
                   --buffer-size 1G \
                   --vfs-read-ahead 8G \
                   --vfs-read-chunk-size 512M \
                   --vfs-read-chunk-size-limit off \
                   --drive-pacer-min-sleep 1ms \
                   --drive-pacer-burst 500 \
                   --async-read

Mount ettikten sonra Drive klasorunuze girebilirsiniz.
Her seferinde terminalden boyle ugrasmak istemeyenler SystemD servisi olusturabilirler.

Ben boyle olusturdum:
Bash:
sudo nano /etc/systemd/system/gdrive.service

Kendinize gore duzenledikten sonra yapistirin.
Ornegin baglayacaginiz dosya yolunu duzeltin.
RClone config dosyasinin yolunu duzeltin.
Baglayacaginiz paylasim ismini de duzeltin (gdrive).

Kod:
[Unit]
Description=Google Drive
ExecStartPre=/bin/mkdir -p /home/hanzo/GoogleDrive ## DUZELT
After=network-online.target

[Service]
Type=notify
User=hanzo
Group=hanzo
ExecStart=/usr/bin/rclone mount gdrive: /home/hanzo/GoogleDrive \ ## DUZELT
--config=/home/hanzo/.config/rclone/rclone.conf \ ## DUZELT
--vfs-cache-mode full \
--vfs-cache-max-size 50G \
--vfs-cache-max-age 72h \
--vfs-write-back 10s \
--vfs-fast-fingerprint \
--dir-cache-time 168h \
--attr-timeout 8760h \
--poll-interval 60s \
--transfers 16 \
--checkers 16 \
--drive-chunk-size 512M \
--buffer-size 1G \
--vfs-read-ahead 8G \
--vfs-read-chunk-size 512M \
--vfs-read-chunk-size-limit off \
--drive-pacer-min-sleep 1ms \
--drive-pacer-burst 500 \
--async-read

ExecStop=/bin/fusermount -u /home/hanzo/GoogleDrive ## DUZELT
Restart=always
RestartSec=10

[Install]
WantedBy=default.target

Kaydedip cikin.
Bash:
sudo systemctl daemon-reload
Bash:
sudo systemctl enable --now gdrive

Not: Isteyen servisi userspace'de yapabilir. Sudo'ya gerek kalmaz ve kullaniciniza ozel olur bu sayede.

Voila.

Notlar:
  • Ilk gezinmede eger cok fazla dosya varsa indexlemesi biraz suruyor. Ilk acilista tepkisel olmasini beklemeyin yani. Her yeniden baslatmada bu durum var. Duzeltmek isteyen duzeltebilir, ben cok kullanmadigim icin ugrasmadim. Hatta sanirim KDE'deki Dolphin'de bu sorun yok.
  • Sizinle paylasilanlari da gormek isterseniz en basit yol: Web uzerinden Drive'a gidip klasore sag tiklayin > Organize et > Kisayol olustur > Kendi Drive'iniz.
  • Bu konfigurasyonla dosya direkt Drive'a upload edilmez. Dosyayi native olarak kopyalarsiniz, 10 saniye sonra upload baslar. Dosyaya 72 saat icinde ellemezseniz cacheden silinir. Cache ayarini kendinize gore degistirebilirsiniz.
    • En buyuk fark bu.
Ben cok kullanmadigim icin bu kadar duzenledim. Daha da iyilestirebilecekler paylasabilir.

1774097634802.webp


Her ayarın ne işe yaradığıni Claude'a yazdirdim cunku yaparken neden yaptigimi hatirlamiyorum.
Altini cizdiklerimi kendinize gore degistirebilirsiniz.

Cache ayarları:

--vfs-cache-mode full → İndirilen ve yüklenen dosyaların tamamı önce diske cache'lenir. Bu olmadan rastgele okuma/yazma çalışmaz.
--vfs-cache-max-size 50G → Cache'in disk üzerinde kaplayabileceği maksimum alan.
--vfs-cache-max-age 72h → 72 saat erişilmeyen cache dosyaları otomatik silinir.
--vfs-write-back 10s → Bir dosyayı kapattıktan 10 saniye sonra Drive'a yükler. Çok sık kaydetmelerde gereksiz yükleme yapmaz. Bu dosya olusturulur olusturmaz yuklenmesini onluyor. 10 saniye sonra yuklemeye basliyor.
--vfs-fast-fingerprint → Dosya değişiklik kontrolünü checksum yerine boyut+tarih ile yapar, çok daha hızlı.

Klasör/dizin cache:

--dir-cache-time 168h → Klasör listesi 1 hafta RAM'de tutulur, her girişte Drive'a sorulmaz. Hızlı gezinmenin temel sebebi bu.
--attr-timeout 8760h → Dosya özellikleri (boyut, tarih) 1 yıl cache'lenir. Dosya yöneticisinin sürekli Drive'a sormasını engeller.
--poll-interval 60s → 60 saniyede bir Drive'da gerçek değişiklik var mı diye kontrol eder. Başka bir cihazdan eklenen dosyalar bu sayede görünür.

Transfer ve indirme hızı:
Ben bu ayarlarla 400-800 Mbps arasinda indirme ve 500-600 Mbps yukleme yapabiliyorum. Cogu kisi icin fazlasiyla yeterli ama internet hiziniz daha dusukse yariya indirebilirsiniz.
--transfers 16 → Aynı anda 16 dosya paralel transfer edilir. Çok sayıda küçük dosya yüklerken/indirirken kritik.
--checkers 16 → Dosya değişiklik kontrollerini 16 paralel thread ile yapar.
--drive-chunk-size 512M → Drive API'sine 512MB'lık bloklar halinde istek atar. Büyük blok = daha az API çağrısı = daha az overhead.

İndirme hızı:

--buffer-size 1G → Drive'dan gelen veri için bellek tamponu. Buffer dolmadan bir sonraki chunk hazır olur, dalgalanma önlenir.
--vfs-read-ahead 8G → Dosyayı okurken arka planda 8GB'a kadar ileriden veri çeker.
--vfs-read-chunk-size 512M → Drive'dan tek seferde çekilen blok boyutu. Küçük chunk olursa buyuk dosyalar ve hizli baglantida dalgalı grafik oluyor.
--vfs-read-chunk-size-limit off → Chunk boyutunun büyümesine üst sınır koymaz.
--async-read → Okuma istekleri asenkron işlenir, CPU bir chunk'ı işlerken bir sonrakini hazırlar.

API yönetimi:

--drive-pacer-min-sleep 1ms → Drive API istekleri arasındaki minimum bekleme süresi. Düşük tutunca API'ye daha hızlı istek atılır.
--drive-pacer-burst 200 → Arka arkaya 200 API isteğine kadar rate limit'e takılmadan gidebilir.
 
Son düzenleyen: Moderatör: