GNU/Linux >> Znalost Linux >  >> Debian

Jak udržovat OneDrive v synchronizaci se složkou v Linuxu pomocí OneDrive Free Client Fork

OneDrive je služba hostování a synchronizace souborů nabízená společností Microsoft, podobně jako Dropbox, Disk Google, MEGA atd. Neexistuje žádný oficiální klient Microsoft OneDrive pro Linux, ale stále je možné sdílet vaše soubory OneDrive (s reálnými time -File Watcher) do složky ve vašem počítači se systémem Linux Fork of OneDrive Free Client, která je stále udržována (klient příkazového řádku OneDrive pro Linux).

Před chvílí jsem psal o připojení OneDrive v Linuxu pomocí Rclone (s podporou pracovních a osobních účtů). Někteří uživatelé mohou upřednostňovat synchronizaci svých souborů OneDrive se složkou v počítači se systémem Linux (soubory mají po synchronizaci na pevném disku, takže k nim lze přistupovat, i když je počítač offline), pouze nahrát/stáhnout změny místo připojení OneDrive, a v tomto článku to uděláme právě pomocí vidlice bezplatného klienta OneDrive.

Původní bezplatný klient OneDrive byl opuštěn na podzim roku 2018, ale tento nástroj byl o několik měsíců později pod stejným názvem rozšířen a od té doby se neustále vyvíjí.

OneDrive Free Client Fork je kompletní nástroj pro interakci a synchronizaci OneDrive v Linuxu s následujícími funkcemi:

  • Ukládání stavu do mezipaměti
  • Monitorování souborů v reálném čase pomocí Inotify
  • Ověření nahrávání/stahování souborů k zajištění integrity dat
  • Obnovitelná nahrávání
  • Podpora OneDrive pro firmy (součást Office 365)
  • Sdílené složky (OneDrive Personal)
  • Knihovny SharePoint / Office 365
  • Oznámení na ploše prostřednictvím libnotify
  • Schopnost běhu nasucho pro testování změn konfigurace
  • Zabraňte náhodnému smazání dat OneDrive po změně konfigurace


Stejně jako původní projekt nemá vidlice klienta OneDrive Free Client grafické uživatelské rozhraní, takže je nutné jej používat z příkazového řádku, i když obsahuje oznámení na ploše, která vás informují o stavu synchronizace a dalších chyby synchronizace, ke kterým dojde.

Je také důležité poznamenat, že zatímco místní změny jsou okamžitě nahrány do propojeného účtu Microsoft OneDrive, vzdálené změny jsou při použití zpožděny do příští synchronizace --monitor (Tento režim „monitorování“ umožňuje bezplatnému klientovi OneDrive nepřetržitě sledovat změny ve vašem místním systému souborů a nahrávat je, když jsou zjištěny). Pokud například spustíte tento nástroj jako službu, interval sledování bezplatného klienta OneDrive je 45 sekund, takže synchronizace vzdálených změn na váš místní disk může trvat až 45 sekund.

Pokud jde o sdílené složky, pro osobní účty OneDrive je stačí přidat na váš OneDrive. Chcete-li to provést, přejděte na web OneDrive a přihlaste se ke svému účtu. Poté přejděte do seznamu sdílených souborů, klikněte pravým tlačítkem na složku, kterou chcete synchronizovat, a poté klikněte na Add to my OneDrive . Sdílené složky aktuálně nejsou podporovány pro účty OneDrive Business nebo Office 365.

Jak nainstalovat OneDrive Free Client (fork) na Debian (a Ubuntu atd.), Fedoru a další

Dokumentace OneDrive Free Client (fork) pro Linux uvádí, že tento nástroj je dostupný v repozitářích Fedory, AUR pro Arch Linux / Manjaro, An slackbuilds.org pro Slackware a nestabilním kanálu na NixOS.

Nástroj je také dostupný v oficiálních repozitářích Debianu a Ubuntu, ačkoli to není uvedeno v dokumentaci (upravit:dokumentace byla aktualizována, aby to odrážela). Pro Ubuntu je vidlice k dispozici pouze v Ubuntu 19.04, 19.10 a 20.04, zatímco Ubuntu 18.04 má stále starého, neudržovaného klienta OneDrive Free Client (který si nejsem jistý, že stále funguje, ale i když ano, má spoustu chyb , která nebude nikdy opravena). Pro Debian je tento balíček OneDrive dostupný v Sid a Bullseye.

Chcete-li nainstalovat bezplatného klienta (fork) OneDrive z oficiálních úložišť na Fedoře, použijte Debian/Ubuntu:

  • Nainstalujte bezplatného klienta (fork) OneDrive na Fedoru:
sudo dnf install onedrive

  • Nainstalujte si OneDrive Free Client (fork) na OS Solus:
sudo eopkg install onedrive

  • Nainstalujte si OneDrive Free Client (fork) na Debian Sid nebo Bullseye / Ubuntu 20.10, 20.04 a 19.10 a distribuce Linuxu založené na těchto verzích Ubuntu (jako Pop!_OS, Linux Mint atd.) / Raspbian Testing / Kali Linux:
sudo apt install onedrive


Vývojář doporučuje nainstalovat nejnovější verzi ze zdroje i na Ubuntu 19.10, protože verze v repozitářích je poměrně stará. Pro Debian Buster a Ubuntu 18.04 (a Pop!_OS 18.04, Linux Mint 19.*, Elementary OS 5 nebo 5.1 atd.) musíte sestavit OneDrive Free Client (fork) ze zdroje jak je vysvětleno na jeho wiki, protože verze v repozitářích je stará, nepoužívaná aplikace.

[[Edit]]Na Ubuntu 20.04 (a Linux Mint 20) a 20.10 můžete nainstalovat nejnovější OneDrive pomocí PPA:
sudo add-apt-repository ppa:yann1ck/onedrive
sudo apt install onedrive

U ostatních distribucí Linuxu zkontrolujte, zda máte v repozitářích balíček „onedrive“ a nainstalujte jej nebo sestavte ze zdroje.

K dispozici je také bezplatný obraz Docker klienta (fork) OneDrive.

Jak používat OneDrive Free Client (fork) k synchronizaci Microsoft OneDrive do složky v počítači se systémem Linux

1. Autorizujte bezplatného klienta (fork) OneDrive pro Linux pomocí účtu Microsoft OneDrive.

Pro Office365 / Přístup ke skupinovému disku Sharepoint v Office 365 Business nebo Education si prosím přečtěte pokyny na této stránce.

U osobních účtů otevřete terminál a spusťte:

onedrive

Když ji spustíte poprvé, terminál, na kterém jste spustili „onedrive“, zobrazí zprávu o autorizaci této aplikace pomocí odkazu. Zkopírujte odkaz zobrazený v terminálu a vložte jej do webového prohlížeče. Po přihlášení ke svému účtu Microsoft by se vám měla zobrazit stránka s dotazem, zda chcete této aplikaci povolit přístup k vašim informacím – klikněte na Yes .

Po kliknutí na Yes , budete přesměrováni na prázdnou stránku. To je v pořádku, tak to má být. Nyní musíte zkopírovat a vložit adresu URL této prázdné stránky do terminálu, kde budete autorizovat nástroj OneDrive pomocí svého účtu OneDrive.

Poté se v terminálu zobrazí zpráva, že No OneDrive sync will be performed without either of these two arguments being present . Je to proto, že jsme se nepokoušeli synchronizovat soubory, pouze jsme autorizovali aplikaci onedrive s vaším účtem onedrive, takže je ignorujte.

2. Počáteční synchronizace mezi OneDrive a místním systémem souborů.

Po autorizaci můžete své cloudové soubory OneDrive synchronizovat na místní disk. Nástroj příkazového řádku OneDrive načte všechny soubory OneDrive ve formátu . dolů ~/OneDrive (složka OneDrive ve vašem domovském adresáři). Tuto složku nemusíte vytvářet, protože ji vytvoří za vás nástroj Onedrive.

Proveďte zkušební synchronizaci bez skutečných změn, abyste se ujistili, že tento bezplatný klient OneDrive pro Linux funguje správně pomocí:

onedrive --synchronize --verbose --dry-run

Pokud vše vypadá v pořádku, začněme synchronizovat soubory OneDrive do místního ~/OneDrive složku. Můžete buď synchronizovat všechny své soubory a složky OneDrive do místní složky OneDrive (krok 2A níže), nebo synchronizovat pouze některé soubory a složky (selektivní synchronizace – krok 2B níže).

2A. Chcete-li synchronizovat VŠECHNY cloudové soubory OneDrive na místní disk (do ~/OneDrive), použijte:

onedrive --synchronize

Toto je pouze pro počáteční synchronizaci. Chcete-li spustit bezplatného klienta OneDrive pro Linux na pozadí a synchronizovat soubory, když jsou zjištěny změny, přečtěte si krok 3 níže (Povolení služby systemd).

2B. Zapněte a použijte selektivní synchronizaci.

Co když chcete synchronizovat více adresářů a souborů, ale ne všechny? Pak byste měli použít funkci selektivní synchronizace dostupnou s tímto klientem příkazového řádku OneDrive pro Linux.

Selektivní synchronizace je funkce, která vám umožňuje určit soubory a adresáře, které se mají synchronizovat mezi OneDrive a místním souborovým systémem, a přeskakovat všechny ostatní adresáře a soubory.

Je velmi důležité si uvědomit, že OneDrive Free Client pro Linux neodstraní již synchronizované adresáře nebo soubory z vašeho pevného disku pro případ, že je později vyloučíte selektivní synchronizací. To, co dělá, je vylučuje z budoucích synchronizací.

Příklad:Pokud povolíte OneDrive synchronizovat pouze složky 1 a složku 2, když později přidáte složku 3 do adresáře OneDrive v počítači, tato složka 3 nebude synchronizována s vaším účtem OneDrive; ale pokud máte složky 1, 2 a 3 synchronizované se svým účtem OneDrive a poté se rozhodnete synchronizovat pouze složky 1 a 2, složka 3 nebude odebrána z adresáře OneDrive na vašem počítači se systémem Linux, ale budou odstraněny všechny změny, které v ní provedete. složky nebudou synchronizovány s vaším účtem OneDrive.

Selektivní synchronizaci pro bezplatného klienta OneDrive můžete povolit zkopírováním souboru s názvem . vytvořit sync_list do ~/.config/onedrive . Upravte toto sync_list Soubor a přidejte relativní cestu k souborům a adresářům, které chcete synchronizovat s OneDrive, každý na nový řádek. Všechny soubory a adresáře, které neodpovídají řádku z tohoto souboru, budou ze synchronizace přeskočeny.

Příklad. Řekněme, že mám na svém účtu OneDrive mnoho souborů a složek, ale chci pouze synchronizovat 2 adresáře s názvem Záloha a Fotografie a 3 soubory s názvem soubor1.ods, soubor2.odt a soubor3.odt se všemi 3 soubory v části Dokumenty jsou složky v mém účtu OneDrive. V tomto případě ~/.config/onedrive/sync_list Soubor by měl obsahovat následující řádky:

Backup
Photos
Documents/file1.odt
Documents/file2.odt
Documents/file3.odt

Když použijete selektivní synchronizaci poprvé a pokaždé po provedení změn v ~/.config/onedrive/sync_list Soubor, který potřebujete znovu synchronizovat s --resync , takto:

onedrive --synchronize --resync

Pokud máte povolenou službu OneDrive Free Client systemd (krok 3 níže) a aktuálně je spuštěna, pokus o spuštění tohoto příkazu bude mít za následek chybovou zprávu:Initializing the Synchronization Engine ... A database statement execution error occurred: disk I/O error. Segmentation fault (core dumped) . V tomto případě musíte zastavit službu onedrive systemd, spustit příkaz resync a restartovat službu takto:

systemctl --user stop onedrive
onedrive --synchronize --resync
systemctl --user start onedrive

Existují také možnosti přeskočit adresář, přeskočit soubory, bodové soubory a symbolické odkazy dostupné prostřednictvím konfiguračního souboru OneDrive Free Client pro Linux (viz krok 5 níže).

Stejně jako úplná běžná synchronizace to platí pouze pro počáteční synchronizaci. Chcete-li spustit bezplatného klienta OneDrive pro Linux na pozadí a synchronizovat soubory, když jsou zjištěny změny, viz krok 3 níže.

3. Povolte službu OneDrive Free Client for Linux systemd.

Aby OneDrive Free Client pro Linux běžel jako služba, aby se automaticky spouštěl s vaším počítačem a neustále sledoval změny OneDrive a synchronizoval změněné soubory a složky, povolujeme jeho službu systemd.

Při použití jako služba systemd se tento klient příkazového řádku OneDrive pro Linux spouští v režimu monitoru (--monitor ), což umožňuje neustálé sledování změn v souborech ve vašem lokálním souborovém systému. U mnoha souborů to však může způsobit problémy (nelze přidat nové hodiny inotify) způsobené místním prostředím. Řešením je zvýšení počtu maximálních uživatelských hodin. Tato stránka ukazuje, jak to udělat na Debian / RedHat nebo podobných (Ubuntu, Fedora atd.) a Arch Linux / Manjaro.

Chcete-li povolit a spustit systémovou službu OneDrive (s povolenými oznámeními) pro aktuálního uživatele (jiný než root), spusťte:

systemctl --user enable onedrive
systemctl --user start onedrive

Zkontrolujte stav systémové služby OneDrive Free Client pomocí:

systemctl status --user onedrive

Stačí zkontrolovat protokoly:

journalctl --user-unit onedrive -f

související se systemd:chkservice je správce zařízení systemd s uživatelským rozhraním terminálu (k dispozici nová verze)

Další způsoby spuštění služby OneDrive (jako uživatel root prostřednictvím init.d) naleznete v její dokumentaci.

Je velmi důležité poznamenat, že musíte použít ~/OneDrive (nebo jakákoli cesta, kterou používáte pro složku OneDrive), když je spuštěna systémová služba rozvětvení bezplatného klienta OneDrive , protože všechny vaše soubory budou odstraněny z OneDrive (stále k nim budete mít přístup v koši na webu OneDrive).

5. (Volitelné) Možnosti konfigurace.

Pokud chcete použít vlastní umístění složky OneDrive, změnit interval sledování změněných souborů a další, můžete použít konfigurační soubor bezplatného klienta OneDrive.

Pro Debian, Ubuntu a deriváty viz /usr/share/doc/onedrive/config pro příklad konfigurace . Jiná distribuce Linuxu, nebo pokud nemůžete najít tento konfigurační soubor, můžete jej získat na stránce projektu OneDrive Free Client GitHub – zde je přímý odkaz.

Chcete-li pro svého uživatele změnit výchozí konfiguraci bezplatného klienta OneDrive pro Linux, zkopírujte tento konfigurační soubor do ~/.config/onedrive . Např. na Debian/Ubuntu a dalších distribucích Linuxu, kde je tento soubor nainstalován pod /usr/share/doc/onedrive/config , zkopírujte jej do ~/.config/onedrive Použití:

cp /usr/share/doc/onedrive/config ~/.config/onedrive/

Chcete-li nyní změnit některé možnosti bezplatného klienta OneDrive, otevřete ~/.config/onedrive/config soubor pomocí textového editoru. Všechny možnosti jsou zakomentovány (mají # před nimi); Chcete-li změnit kteroukoli z výchozích hodnot, odkomentujte řádek a nastavte hodnotu na požadovanou hodnotu.

Možnosti v konfiguračním souboru by měly být ve většině případů samozřejmé. Nápovědu najdete na manuálové stránce onedrive (man onedrive ).

Další informace o používání bezplatného klienta OneDrive v systému Linux, včetně jeho používání s více účty OneDrive, povolení podpory proxy pro systémovou službu OneDrive a další, najdete v dokumentaci k použití bezplatného klienta OneDrive.


Debian

Jak nainstalovat phpPgAdmin na Debian 11 / Debian 10

  1. Jak nainstalovat SpiderFoot Security Scanner na Debian 10

  2. Jak nainstalovat Etherpad na Debian 11

  3. Jak nainstalovat Memcached na Debian 9

Nainstalujte server Redis na Debian 11

  1. Jak přidat swapovací prostor na Debian 10 Linux

  2. Jak nainstalovat CouchDB na Debian 9

  3. Jak nainstalovat OPcache na Debian

Jak nainstalovat Jenkins na Debian 10 / Debian 9

  1. Zakomentování/odkomentování řádku v konfiguračním souboru Debianu

  2. 4 způsoby, jak se odhlásit z Debian 10 Desktop

  3. Převeďte dokumenty do PDF na příkazovém řádku Debianu