Montujemy chmurę OneDrive pod Linuksem

https://xpil.eu/kko

Jeżeli, Czytelniku, jesteś tak jak ja starym windowsiarzem, który sporadycznie tylko używa Linuksa, to niewykluczone, że natknąłeś się (lub się dopiero natkniesz) na zagadnienie pod tytułem: jak dostać się do swoich zasobów OneDrive spod Linuksa?

Oczywiście najprostsze rozwiązanie to otworzyć przeglądarkę www, wejść na portal OneDrive, zalogować się swoim kontem Microsoft - i już. Ale jednak to nie jest to samo co bezpośredni dostęp - w takiej formie można co najwyżej ściągnąć sobie plik na komputer lokalny, zrobić z nim co trzeba a potem odesłać z powrotem w chmurę, za pomocą przeglądarki. Takie trochę pitolenie kota za pomocą młota.

Da się lepiej.

Przeguglawszy z pół internetów oraz przepytawszy zylion linuksowych znajomych doszedłem w końcu do następującego rozwiązania:

  1. Instalujemy aplikację rclone (czyli na przykład: sudo apt install -y rclone)
  2. Tworzymy pusty folder OneDrive, najlepiej w swoim katalogu domowym
  3. W terminalu wpisujemy: rclone config
  4. Wybieramy z listy opcję New remote
  5. Z pokaźnej listy technologii chmurowych (niesamowite ile się tego namnożyło) wybieramy OneDrive (u mnie aktualnie pod numerem 22, nie wiem czy to jest na stałe czy się zmienia...)
  6. Na pytanie o nazwę wpisujemy jakąś nazwę - obojętnie co, ale trzeba zapamiętać co się wpisało, bo potem będzie potrzebne. Ja wymyśliłem OD. Pukamy enter.
  7. W kolejnym kroku rclone zapyta nas o parametr OAuth Client Id - zostawiamy pole puste, czyli pukamy enter.
  8. Podobnie robimy z następnym polem, czyli OAuth Client Secret - tu również nic nie wpisujemy tylko pukamy enter.
  9. Na następne pytanie (Edit advanced config?) odpowiadamy przecząco, czyli N
  10. Potem pojawi się pytanie Use auto config?, na które odpowiadamy twierdząco. Pozwoli to na automatyczne wygenerowanie przez rclone pliku konfiguracyjnego (w przeciwnym razie musielibyśmy wyrzeźbić ów plik ręcznie, a przecież kompletnie się na tym nie znamy).
  11. Następnie w terminalu pokaże się informacja Waiting for code…, w tym samym czasie otworzy się przeglądarka www z url-em https://account.live.com/App/Confirm... gdzie klikamy, że zgadzamy się na wszystko (czyli niebieski przycisk).
  12. Kliknąwszy ów przycisk zobaczymy w przeglądarce komunikat o sukcesie, w terminalu zaś pojawi się radosne Got code i zaraz potem pytanie o to, który konkretnie zasób z naszego OneDrive-a zamapować lokalnie. U mnie zadziałała opcja 1: OneDrive Personal or Business
  13. Następnie pojawia się lista wszystkich napędów, które mamy w OneDrive (z reguły tylko jeden), ponumerowana od zera. Wybieramy na klawiaturze zero, pukamy enter.
  14. Pojawi się zapytanie o potwierdzenie: Found drive 'root' of type 'personal', URL: https://onedrive.live.com/... - wpisujemy Y, pukamy enter
  15. Wreszcie pojawi się ostateczne potwierdzenie, czy chcemy używać tego napędu, z długim na pół ekranu tokenem w nawiasach wąsatych - tu również pukamy Y
  16. W ostatnim kroku wychodzimy z trybu konfiguracji wpisując Q (enter)

Powyższe kroki jeszcze nie zamapowały nam folderu OneDrive lokalnie, ale utworzyły plik rclone.conf (w folderze ~/.config/rclone/) - od teraz możemy sobie zamontować nasz folder OneDrive kiedy tylko zechcemy, następująca komendą:

rclone --vfs-cache-mode writes mount OD: ~/OneDrive &

Proszę przy okazji zauważyć, że po słowie mount używamy nazwy, którą sobie wymyśliliśmy w kroku numer 6 (powyżej), koniecznie z dwukropkiem. To ta sama nazwa, którą znajdziemy w nawiasach kwadratowych w pliku rclone.conf (w razie gdyby ktoś zapomniał, to może ją sobie tam znaleźć).

I to by było w zasadzie wszystko - po zamontowaniu folderu mamy pełen dostęp do plików na naszym OneDrive całkiem tak, jakby siedziały one sobie lokalnie na dysku.

Aha, jeszcze jedno. Jeżeli ktoś udostępnił wam kiedyś jakiś folder ze swojego OneDrive, powyższa metoda nie da, niestety, dostępu do takiego folderu. Zobaczymy wyłącznie nasze własne pliki i foldery, ale współdzielone z innych kont już nie. Póki co rclone nie obsługuje takich współdzielonych folderów, ale można to obejść logując się na nasze konto OneDrive w przeglądarce i zaklikując obok współdzielonego folderu opcję "Add Shortcut To My Files". Jeżeli takich folderów współdzielonych mamy więcej, trzeba operację powtórzyć dla każdego z nich. Od tej pory będziemy te foldery widzieć jako "swoje" - również w folderze zamontowanym przez rclone.

Na zakończenie dodam jeszcze, że rclone działa nie tylko z OneDrive, ale też z parudziesięcioma innymi dostawcami plików w chmurze - popularne to np. Box, Google Drive, Dropbox czy NextCloud. Pełna lista obsługiwanych technologii dostępna jest po adresem https://rclone.org/.

https://xpil.eu/kko

1 Comment

  1. A mówią że liniuks nie jest user friendly.
    Jest, tylko uważnie dobiera przyjaciół 😉

Leave a Comment

Komentarze mile widziane.

Jeżeli chcesz do komentarza wstawić kod, użyj składni:
[code]
tutaj wstaw swój kod
[/code]

Jeżeli zrobisz literówkę lub zmienisz zdanie, możesz edytować komentarz po jego zatwierdzeniu.