Google Drive na Linux? Możliwe i to za darmo!

2 tygodni temu

www.czarnaowca.it

Google Drive to coś, z czym jestem związany od dawna. Korzystam, lubię, szanuję. Wielka korporacja to zło, nie masz pewności swoich danych, itd. – no dobra, to prawda, ale cena i wygoda to dobry atut. Kto mi da kodowanie przy pomocy AI, GenAI, 5TB Dysku, fajny system do zdjęć i udostępniania, office – w cenie 100zł? jeżeli znajdziesz, biorę. Do tego czasu jestem uwięziony, ale… mam problem. Google Drive nie działa na Linux poza przeglądarką.

Google Drive nie ma aplikacji na Linux

Wiesz, jak to jest. Przesiadasz się na Linuksa, uciekasz od telemetrii i obrzydliwego softu z Redmond.

Odpalasz czysty, pachnący nowością system, konfigurujesz ulubione środowisko, wszystko śmiga. Aż nagle biznes, uczelnia, albo twoja własna paranoja o backupy, puka do drzwi i mówi: „Hej, zsynchronizuj te pliki z Google Drive”.

Szukasz oficjalnego klienta i odbijasz się od ściany. Gigant z Mountain View od dekady ma nas, linuksiarzy, w głębokim poważaniu. Na Windowsie ich klient potrafił zawiesić eksplorator przy skanowaniu byle node_modules, ale chociaż istniał.

Na pingwinie zostają ci płatne subskrypcje u zewnętrznych dostawców jak InSync, czy ExpandDrive. Płacić miesięczny haracz za dostęp do własnych plików na darmowym dysku? Albo choćby na płatnym? Ja mam płacić?

Wybawienie: rclone

Zamiast kombinować z komercyjnymi wynalazkami albo pisać koślawe skrypty, które będą synchronizować pliki w tle i sypać konfliktami wersji po każdym zapisie, użyjemy rclone. Konkretnie jego natywnej funkcji montowania.

Ostatnio coś bawiłem się z rclone podczas przerzucania plików (wygodne jak cholera, by przerzucać pliki miedzy S3, Google Drive, a serwer via rsync). Sprawdziłem manuala i tam patrzę – mount. Moje życie nabrało barw.

Jak to działa pod spodem? Rclone korzysta z modułu FUSE (Filesystem in Userspace) i w locie tłumaczy wywołania systemowe (odczyt, zapis) bezpośrednio na żądania HTTP do API Google’a. Traktujesz chmurę jak fizyczny dysk zapięty pod USB. Otwierasz plik, edytujesz, zapisujesz, a rclone w tle mieli to przez wbudowany VFS (Virtual File System) cache, żebyś nie dostał czkawki wejścia/wyjścia przy każdym wciśnięciu Ctrl+S. Koniec z bezsensownym duplikowaniem gigabajtów danych na lokalnym dysku twardym, a potem wielogodzinnym sprzątaniem swoich wielu terabajtów śmieci.

Konfiguracji rclone nie będę pokazywać, bo jest to fenomenalnie opisane w oficjalnej instrukcji. Dodam, iż wspiera też S3, OneDrive i dziesiątki innych rozwiązań chmurowych.

Zrób sobie plik w ~/.config/systemd/user/rclone-gdrive.service i wklej poniższy config. Zero czarnej magii, czysta automatyzacja demona na poziomie usera.

[Unit] Description=RClone Mount dla Google Drive # Nie odpalaj, dopóki sieć nie wstanie. Inaczej FUSE momentalnie wypluje błąd i położy usługę. Wants=network-online.target After=network-online.target [Service] Type=notify # Magia dzieje się tutaj. %h to alias na katalog domowy użytkownika. # Cache mode 'writes' to absolutne minimum, żeby edycja plików nie sypała błędami I/O. ExecStart=/usr/bin/rclone mount GDrive: %h/GoogleDrive \ --vfs-cache-mode writes \ --dir-cache-time 1h \ --log-level INFO \ --log-file %h/.rclone-gdrive.log # Upewnijmy się, iż przy ubijaniu serwisu FUSE ładnie odmontuje zasób ExecStop=/bin/fusermount -u %h/GoogleDrive # Jak API Google zrzuci połączenie (a prędzej czy później zrzuci), systemd postawi to na nogi. Restart=on-failure RestartSec=10 [Install] WantedBy=default.target # Informujemy systemd o nowych śmieciach w katalogu, odpalamy i dorzucamy do autostartu systemctl --user daemon-reload systemctl --user enable --now rclone-gdrive.service # Żeby sprawdzić, czy działa bez grzebania w logach: df -h

I to by było na tyle. Twoja chmura wisi stabilnie w systemie plików bez krzty komercyjnego narzutu i bez zapychania RAM-u przez Electronowe potworki.

Skoro wszystko już elegancko śmiga, odklej wzrok od monitora, zamknij w końcu ten terminal i idź na spacer. Serwery bez ciebie nie spłoną, a twoje plecy w końcu ci podziękują za chwilę odpoczynku od tego krzesła.

Idź do oryginalnego materiału