GNU/Linux >> Linux の 問題 >  >> Debian

OneDrive Free Client Fork を使用して Linux 上のフォルダーと OneDrive の同期を維持する方法

OneDrive は、Dropbox、Google Drive、MEGA などと同様に、Microsoft が提供するファイル ホスティングおよび同期サービスです。Linux 用の公式の Microsoft OneDrive クライアントはありませんが、OneDrive ファイルを共有することは可能です (実際のtime -File Watcher) を、まだ維持されている OneDrive Free Client の Linux コンピューターのフォーク (Linux 用の OneDrive コマンド ライン クライアント) のフォルダーにコピーします。

少し前に、Rclone を使用して Linux に OneDrive をマウントする方法について書きました (仕事用および個人用アカウントのサポートあり)。一部のユーザーは、OneDrive ファイルを Linux コンピューターのフォルダーと同期したままにし (同期後にファイルをハード ドライブに保存するため、コンピューターがオフラインの場合でもファイルにアクセスできます)、変更の代わりにアップロード/ダウンロードのみを行うことを好む場合があります。 OneDrive をマウントします。この記事では、OneDrive Free Client のフォークを使用してそれを行います。

オリジナルの OneDrive Free Client は 2018 年の秋に廃止されましたが、このツールは数か月後に同じ名前でフォークされ、それ以来常に進化を続けています.

OneDrive Free Client Fork は、Linux 上の OneDrive を操作および同期するための完全なツールであり、次の機能を備えています。

  • 状態のキャッシュ
  • Inotify によるリアルタイムのファイル監視
  • データの整合性を確保するためのファイルのアップロード/ダウンロードの検証
  • 再開可能なアップロード
  • OneDrive for Business のサポート (Office 365 の一部)
  • 共有フォルダー (OneDrive 個人用)
  • SharePoint / Office 365 ライブラリ
  • libnotify によるデスクトップ通知
  • 構成の変更をテストするドライラン機能
  • 構成の変更後に OneDrive データが誤って削除されないようにする


元のプロジェクトと同様に、OneDrive Free Client フォークにはグラフィカル ユーザー インターフェイスがないため、コマンド ラインから使用する必要があります。発生する同期エラー。

ローカルの変更はリンクされた Microsoft OneDrive アカウントにすぐにアップロードされますが、リモートの変更は次の同期 --monitor が使用されるまで遅延されることに注意することも重要です。 (この「監視」モードでは、OneDrive Free Client がローカル ファイル システムの変更を継続的に監視し、変更が検出されたときにアップロードすることができます)。たとえば、このツールをサービスとして実行する場合、無料の OneDrive クライアントの監視間隔は 45 秒であるため、リモートの変更がローカル ドライブに同期されるまでに最大 45 秒かかる場合があります。

共有フォルダーについては、個人の OneDrive アカウントの場合は、それらを OneDrive に追加するだけです。これを行うには、OneDrive Web サイトにアクセスして、アカウントにログインします。次に、共有ファイル リストに移動し、同期するフォルダーを右クリックして、Add to my OneDrive をクリックします。 .共有フォルダーは現在、OneDrive Business または Office 365 アカウントではサポートされていません。

Debian (および Ubuntu など)、Fedora などに OneDrive Free Client (fork) をインストールする方法

Linux 用の OneDrive Free Client (fork) のドキュメントには、このツールが Fedora リポジトリ、Arch Linux / Manjaro 用の AUR、Slackware 用の slackbuilds.org、および NixOS の不安定なチャネルで利用できることが記載されています。

このツールは公式の Debian および Ubuntu リポジトリでも利用できますが、これはドキュメントには記載されていません (編集:ドキュメントはこれを反映するように更新されています)。 Ubuntu の場合、フォークは Ubuntu 19.04、19.10、および 20.04 でのみ使用できますが、Ubuntu 18.04 にはまだメンテナンスされていない古い OneDrive Free Client があります (まだ動作するかどうかはわかりませんが、動作する場合でも多くのバグがあります)。 、修正されることはありません)。 Debian の場合、この OneDrive パッケージは Sid と Bullseye で利用できます。

Fedora、Debian/Ubuntu の公式リポジトリから OneDrive Free Client (fork) をインストールするには:

  • Fedora に OneDrive Free Client (fork) をインストールします:
sudo dnf install onedrive

  • Solus OS に OneDrive 無料クライアント (フォーク) をインストールします:
sudo eopkg install onedrive

  • Debian Sid または Bullseye / Ubuntu 20.10、20.04、19.10、およびこれらの Ubuntu バージョンに基づく Linux ディストリビューション (Pop!_OS、Linux Mint など) / Raspbian Testing / Kali Linux に OneDrive 無料クライアント (フォーク) をインストールします。
sudo apt install onedrive


リポジトリ内のバージョンがかなり古いため、Ubuntu 19.10 でもソースから最新バージョンをインストールすることを開発者は推奨しています。 Debian Buster および Ubuntu 18.04 (および Pop!_OS 18.04、Linux Mint 19.*、Elementary OS 5 または 5.1 など) の場合、ソースから OneDrive Free Client (fork) をビルドする必要があります リポジトリ内のバージョンは古い未使用のアプリであるため、彼の wiki で説明されているとおりです。

[[編集]]Ubuntu 20.04 (および Linux Mint 20) および 20.10 では、PPA を使用して最新の OneDrive をインストールできます:
sudo add-apt-repository ppa:yann1ck/onedrive
sudo apt install onedrive

他の Linux ディストリビューションについては、リポジトリに「onedrive」パッケージがあるかどうかを確認し、それをインストールするか、ソースからビルドしてください。

無料の OneDrive クライアント (フォーク) Docker イメージも提供されます。

OneDrive Free Client (fork) を使用して Microsoft OneDrive を Linux コンピューターのフォルダーに同期する方法

1. Microsoft OneDrive アカウントで Linux 用の OneDrive Free Client (fork) を承認します。

Office365 / Office 365 Business または Education で SharePoint グループ ドライブにアクセスするには、このページの手順をお読みください。

個人アカウントの場合は、ターミナルを開いて実行します:

onedrive

初めて実行すると、「onedrive」を実行した端末に、リンクをたどってこのアプリを承認することに関するメッセージが表示されます。端末に表示されたリンクをコピーして、Web ブラウザーに貼り付けます。 Microsoft アカウントにサインインすると、このアプリケーションがあなたの情報にアクセスすることを許可するかどうかを尋ねるページが表示されます。Yes をクリックしてください。 .

Yes をクリックした後 、空白のページに移動します。大丈夫、そうあるべきです。この空白ページの URL をコピーして、OneDrive アカウントで OneDrive ツールを承認する端末に貼り付ける必要があります。

その後、端末に No OneDrive sync will be performed without either of these two arguments being present というメッセージが表示されます。 .これは、ファイルを同期しようとしなかったためです。onedrive アカウントで onedrive アプリケーションを承認しただけなので、無視してください。

2. OneDrive とローカル ファイル システム間の初期同期。

承認されると、クラウドの OneDrive ファイルをローカル ディスクに同期できます。 OneDrive コマンド ライン ツールは、すべての OneDrive ファイルを に読み込みます。下 ~/OneDrive (ホーム ディレクトリの OneDrive フォルダー)。 Onedrive ツールによって作成されるため、このフォルダーを作成する必要はありません。

以下を使用して、実際の変更を加えずに予行演習 (テスト同期) を実行して、この無料の Linux 用 OneDrive クライアントが適切に動作することを確認しましょう:

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

すべて問題ないように見えたら、OneDrive ファイルをローカルの ~/OneDrive に同期してみましょう フォルダ。すべての OneDrive ファイルとフォルダーをローカルの OneDrive フォルダーに同期するか (以下の手順 2A)、一部のファイルとフォルダーのみを同期できます (選択的同期 - 以下の手順 2B)。

2A.すべての OneDrive クラウド ファイルをローカル ディスク (~/OneDrive) に同期するには、次を使用します。

onedrive --synchronize

これは最初の同期専用です。 Linux 用の OneDrive 無料クライアントをバックグラウンドで実行し、変更が検出されたときにファイルを同期するには、以下の手順 3 (systemd サービスを有効にする) を参照してください。

2B.選択型同期をオンにして使用します。

すべてではなく、複数のディレクトリとファイルを同期したい場合はどうすればよいでしょうか?次に、この Linux 用 OneDrive コマンド ライン クライアントで利用可能な選択的同期機能を使用する必要があります。

選択的同期は、OneDrive とローカル ファイル システムの間で同期するファイルとディレクトリを指定し、他のすべてのディレクトリとファイルをスキップできる機能です。

Linux 用の OneDrive 無料クライアントは、後で選択的同期によってそれらを除外する場合に備えて、既に同期されているディレクトリまたはファイルをハード ドライブから削除しないことに注意することが非常に重要です。これにより、今後の同期から除外されます。

例:OneDrive に Folder1 と Folder2 の同期のみを許可した場合、後で Folder3 をコンピューターの OneDrive ディレクトリに追加しても、その Folder3 は OneDrive アカウントに同期されません。ただし、Folder1、Folder2、および Folder3 を OneDrive アカウントに同期してから、Folder1 と Folder2 のみを同期することにした場合、Folder3 は Linux コンピューターの OneDrive ディレクトリから削除されませんが、フォルダーに加えた変更はすべて削除されます。フォルダーは ' OneDrive アカウントに同期されません。

というファイルをコピーすることで、OneDrive Free Client の選択的同期を有効にすることができます。 sync_list を作成 ~/.config/onedrive に .この sync_list を編集します ファイルを作成し、OneDrive と同期するファイルとディレクトリへの相対パスをそれぞれ新しい行に追加します。このファイルの行と一致しないすべてのファイルとディレクトリは、同期からスキップされます。

例。 OneDrive アカウントに多くのファイルとフォルダーがあるとしますが、Backup と Photos という 2 つのディレクトリと、file1.ods、file2.odt、file3.odt という 3 つのファイルをドキュメント内の 3 つのファイルすべてと同期したいとします。 OneDrive アカウントのフォルダー。この場合、~/.config/onedrive/sync_list ファイルには次の行が含まれている必要があります:

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

選択的同期を初めて使用するとき、および ~/.config/onedrive/sync_list に変更を加えた後に毎回 --resync との完全な再同期が必要なファイル 、次のように:

onedrive --synchronize --resync

OneDrive Free Client systemd サービスを有効にしており (以下の手順 3)、現在実行中の場合、このコマンドを実行しようとすると、次のエラー メッセージが表示されます:Initializing the Synchronization Engine ... A database statement execution error occurred: disk I/O error. Segmentation fault (core dumped) .この場合、onedrive systemd サービスを停止し、resync コマンドを実行してから、次のようにサービスを再起動する必要があります:

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

ディレクトリをスキップするオプション、ファイルをスキップするオプション、ファイルをポイントするオプション、および OneDrive Free Client for Linux 構成ファイルを介して使用できるシンボリック リンクを使用するオプションもあります (以下の手順 5 を参照してください)。

完全な通常の同期と同様に、これは最初の同期にのみ適用されます。バックグラウンドで OneDrive Free Client for Linux を実行し、変更が検出されたときにファイルを同期するには、以下の手順 3 を参照してください。

3. Linux systemd サービス用の OneDrive 無料クライアントを有効にします。

Linux 用の OneDrive 無料クライアントをサービスとして実行するために、コンピューターで自動的に起動し、常に OneDrive の変更を監視し、変更されたファイルとフォルダーを同期するために、その systemd サービスを有効にします。

systemd サービスとして使用すると、この Linux 用 OneDrive コマンド ライン クライアントはモニター モード (--monitor) で実行されます。 )、これにより、ローカル ファイル システムでファイルの変更を継続的に監視できます。ただし、多くのファイルでは、ローカル環境が原因で問題が発生する可能性があります (新しい inotify クロックを追加できない)。これを解決するには、最大ユーザー クロック数を増やします。このページでは、Debian / RedHat または同様のもの (Ubuntu、Fedora など) および Arch Linux / Manjaro でそれを行う方法を示します。

現在の (root 以外の) ユーザーの OneDrive systemd サービス (通知を有効にして) を有効にして開始するには、次を実行します。

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

OneDrive Free Client システム サービスのステータスを確認するには:

systemctl status --user onedrive

ログを確認してください:

journalctl --user-unit onedrive -f

systemd 関連:chkservice は、ターミナル ユーザー インターフェイスを備えた systemd デバイス マネージャーです (新しいバージョンが利用可能)

OneDrive サービスを (init.d を介して root ユーザーとして) 実行するその他の方法については、そのドキュメントを参照してください。

~/OneDrive を使用する必要があることに注意することが非常に重要です。 (または OneDrive フォルダーに使用する任意のパス) フォルダー (OneDrive Free Client fork systemd サービスの実行中) 、すべてのファイルが OneDrive から削除されるためです (OneDrive Web サイトのゴミ箱にあるファイルには引き続きアクセスできます)。

5. (オプション) 構成オプション。

カスタムの OneDrive フォルダーの場所を使用したり、変更されたファイルの監視間隔を変更したりする場合は、OneDrive Free Client 構成ファイルを使用できます。

Debian、Ubuntu、Derivatives の場合、構成例については /usr/share/doc/onedrive/config を参照してください .別の Linux ディストリビューション、またはこの構成ファイルが見つからない場合は、OneDrive Free Client GitHub プロジェクト ページから入手できます - ここに直接リンクがあります。

ユーザーの既定の OneDrive Free Client for Linux 構成を変更するには、この構成ファイルを ~/.config/onedrive にコピーします。 .たとえば、このファイルが /usr/share/doc/onedrive/config の下にインストールされている Debian/Ubuntu およびその他の Linux ディストリビューションでは 、それを ~/.config/onedrive にコピーします 使い方:

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

OneDrive Free Client のオプションを変更するには、~/.config/onedrive/config を開きます テキストエディタでファイル。そこにあるすべてのオプションはコメントアウトされています (それらには # があります) 彼らの前では);デフォルト値を変更するには、行のコメントを解除し、値を必要な値に設定します。

ほとんどの場合、構成ファイルのオプションは一目瞭然です。ヘルプについては、onedrive のマニュアル ページ (man onedrive) を参照してください。 ).

複数の OneDrive アカウントでの使用、OneDrive systemd サービスのプロキシ サポートの有効化など、Linux での OneDrive 無料クライアントの使用に関する詳細については、OneDrive 無料クライアントの使用に関するドキュメントを参照してください。


Debian

Debian 10 に最新の PHP 8 をインストールする方法

  1. Debian 9 /Ubuntu16.04にWebminをインストールする方法

  2. Debian11BullseyeにCMakeをインストールする

  3. DebianLinuxにSlackをインストールする方法

Debian11にNginxとSSLを使用してEtherpadをインストールする方法

  1. Debian8にLAMPをインストールする方法

  2. Debian10にMariaDBをインストールする方法

  3. Debian9にRoadizCMSをインストールする方法

RubyMineをDebian10Busterにインストールする方法

  1. Drupal 9をNginxでインストールし、Debian10でSSLを暗号化する方法

  2. Debian11にGoAccessをインストールする方法

  3. みんなのための3つの最高のDebianベースのLinuxディストリビューション