Bir süre önce OneDrive'ı Linux'a Rclone kullanarak monte etmeyi yazdım (hem iş hem de kişisel hesap desteği ile). Bazı kullanıcılar OneDrive dosyalarını Linux makinelerindeki bir klasörle senkronize tutmayı tercih edebilir (senkronizasyon gerçekleştirildikten sonra diskteki dosyaları bulundurmak, bilgisayar çevrimdışı olsa bile erişime izin vermek), yalnızca OneDrive'ı yüklemek yerine değişiklikleri yüklemek / indirmek ve bu makalede şunu kullanarak yapacağız: OneDrive Ücretsiz İstemci çatal.
OneDrive Ücretsiz İstemci çatal, Linux'ta OneDrive ile etkileşim kurmak ve senkronize etmek için eksiksiz bir araçtır:
- Durum önbellekleme
- Inotify ile Gerçek Zamanlı dosya izleme
- Veri bütünlüğünü sağlamak için dosya yükleme / indirme doğrulaması
- Sürdürülebilir yüklemeler
- OneDrive İş'i destekleme (Office 365'in bir parçası)
- Paylaşılan klasörler (OneDrive Kişisel)
- SharePoint / Office 365 Paylaşılan Kitaplıkları
- Libnotify ile masaüstü bildirimleri
- Konfigürasyon değişikliklerini test etmek için kuru çalışma özelliği
- Yapılandırma değişikliğinden sonra büyük OneDrive kazayla veri silinmesini önleyin
Orijinal proje gibi, OneDrive Ücretsiz İstemci çatalının grafik kullanıcı arabirimi yoktur, bu nedenle komut satırından kullanılması gerekir, ancak eşitleme durumu ve oluşan eşitleme hatası hakkında sizi bilgilendiren masaüstü bildirimleri vardır.
Yerel değişiklikler doğrudan bağlı Microsoft OneDrive hesabına yüklenirken, uzaktan değişikliklerin kullanırken bir sonraki senkronizasyona kadar ertelendiğini unutmayın.
--monitor (bu 'monitör' modu, OneDrive Ücretsiz İstemcinin yerel dosya sisteminizi sürekli olarak değişiklikler için izlemesini ve algılandığında bunları yüklemesini sağlar). Örneğin. bu aracı bir hizmet olarak çalıştırırken, OneDrive Ücretsiz İstemci monitör aralığı 45 saniyedir, bu nedenle uzaktan değişikliklerin yerel sürücünüzle senkronize edilmesi 45 saniyeye kadar sürebilir.
Paylaşılan klasörlere gelince, OneDrive Kişisel hesapları için tek yapmanız gereken onları OneDrive'ınıza eklemektir. Bunu OneDrive web sitesine gidip hesabınıza giriş yaparak yapın, ardından Paylaşılan dosyalar listesine gidin, senkronize etmek istediğiniz klasörü sağ tıklayın ve ardından Tamam
Add to my OneDrive. OneDrive İş veya Office 365 hesapları için, paylaşılan klasörler şu anda desteklenmemektedir.
Debian (ve Ubuntu, vb.), Fedora ve daha fazlasına OneDrive Ücretsiz İstemci (çatal) nasıl yüklenir
Araç, dokümanlarda belirtilmese de Debian ve Ubuntu resmi depolarında da mevcuttur. Ubuntu için, çatal sadece Ubuntu 19.04, 19.10 ve 20.04'te kullanılabilirken, Ubuntu 18.04 hala eski, bakımsız OneDrive Ücretsiz İstemciye sahiptir (hala çalışıp çalışmadığından emin olmasa bile, birçok hata var. asla düzeltilmeyecek). Debian'a gelince, bu OneDrive paketi Sid ve Bullseye'da mevcuttur.
Bu nedenle, Fedora, Debian / Ubuntu'daki resmi depolardan OneDrive Ücretsiz İstemci'yi (çatal) yüklemek için şunu kullanın:
- Fedora'ya OneDrive Ücretsiz İstemci'yi (çatal) yükleyin:
sudo dnf install onedrive
- Solus OS'ye OneDrive Ücretsiz İstemci'yi (çatal) yükleyin:
sudo eopkg install onedrive
- Debian Sid veya Bullseye / Ubuntu 20.04, 19.10 veya 19.04 üzerine OneDrive Ücretsiz İstemci (çatal) ve bu Ubuntu sürümlerine (Pop! _OS 19.10 veya 19.04 gibi) dayalı Linux dağıtımları / Raspbian Testing / Kali Linux:
sudo apt install onedrive
Debian Buster ve Ubuntu 18.04 (ve Pop! _OS 18.04, Linux Mint 19. *, temel OS 5 veya 5.1, vb.) İçin kaynaktan OneDrive Ücretsiz İstemci (çatal) oluşturmanız gerekir wiki'sinde açıklandığı gibi.
Diğer Linux dağıtımları için, depolarda bir “onedrive” paketinizin olup olmadığına bakın ve bunu yükleyin veya kaynaktan inşa et.
OneDrive Ücretsiz İstemci (çatal) Docker görüntüsü de mevcuttur.
Microsoft OneDrive'ı Linux makinenizdeki bir klasörle senkronize etmek için OneDrive Ücretsiz İstemci (çatal) nasıl kullanılır
1. Microsoft OneDrive hesabınızla Linux için OneDrive Ücretsiz İstemci'yi (fork) yetkilendirin.
Office365 / Office 365 iş veya eğitiminde bir Sharepoint grup sürücüsüne erişmek için lütfen bu sayfa.
Kişisel hesaplar için bir terminal açın ve çalıştırın:
onedrive
İlk kez çalıştırdığınızda, 'onedrive' çalıştırdığınız terminal, bir bağlantıyı ziyaret ederek bu uygulamayı yetkilendirme hakkında bir mesaj gösterir. Terminalde gösterilen bağlantıyı kopyalayın ve bir web tarayıcısına yapıştırın. Microsoft hesabınıza giriş yaptıktan sonra, bu uygulamanın bilgilerinize erişmesine izin vermek isteyip istemediğinizi soran bir sayfa görmelisiniz – tıklayın
Yes.
Tıkladıktan sonra
Yes, boş bir sayfaya ulaşacaksınız. Tamam, böyle olması gerekiyordu. Şimdi bu boş sayfanın URL'sini kopyalamanız ve OneDrive hesabınızla onedrive aracına yetki verdiğiniz terminale yapıştırmanız gerekir.
Bundan sonra terminalde aşağıdakileri belirten bir mesaj göreceksiniz:
No OneDrive sync will be performed without either of these two arguments being present. Bunun nedeni, herhangi bir dosyayı senkronize etmeyi denemediğimiz için, onedrive uygulamasını OneDrive hesabınızla yetkilendirdik, bu nedenle yok sayın.
2. OneDrive ile yerel dosya sisteminiz arasındaki ilk senkronizasyon.
Yetkilendirmeden sonra bulut OneDrive dosyalarınızı yerel diskinizle senkronize edebilirsiniz. Onedrive komut satırı aracı, tüm OneDrive dosyalarını
~/OneDrive (ana dizininize yerleştirilmiş bir OneDrive klasörü). Onedrive aracı sizin için oluşturacağından bu klasörü oluşturmanız gerekmez.
Linux için bu OneDrive Ücretsiz İstemcinin aşağıdakileri kullanarak doğru şekilde çalıştığından emin olmak için gerçek bir değişiklik yapmayan kuru bir çalışma (deneme senkronizasyonu) gerçekleştirelim:
onedrive --synchronize --verbose --dry-run
Her şey iyi görünüyorsa, OneDrive dosyalarınızı yerel ile senkronize etmeye başlayalım
~/OneDrive Klasör. Tüm OneDrive dosyalarınızı ve klasörlerinizi yerel OneDrive klasörüyle (aşağıdaki adım 2A) senkronize etmeyi veya yalnızca bazı dosyaları ve klasörleri senkronize etmeyi seçebilirsiniz (aşağıdaki seçici senkronizasyon – aşağıdaki adım 2B).
2A. TÜM OneDrive bulut dosyalarınızı yerel diskinizle (~ / OneDrive'a) senkronize etmek için şunu kullanın:
onedrive --synchronize
Bu sadece ilk senkronizasyon içindir. Linux için OneDrive Ücretsiz İstemcinin arka planda çalışmasını ve değişiklik algılandığında dosyaları senkronize etmesini sağlamak için aşağıdaki 3. adıma bakın (systemd hizmetini etkinleştirme).
2B. Seçici senkronizasyonu etkinleştirme ve kullanma.
Birden fazla dizini ve dosyayı senkronize etmek istiyor, ancak hepsini senkronize etmek istemiyorsanız ne olur? Ardından, Linux için bu OneDrive komut satırı istemcisiyle kullanılabilen seçici senkronizasyon özelliğini kullanmak istersiniz.
Seçici eşitleme, dosya ve dizinlerin OneDrive ile yerel dosya sisteminiz arasında eşitlenmesini ve diğer tüm dizinleri ve dosyaları atlamasını sağlayan bir özelliktir.
Linux için OneDrive Ücretsiz İstemcinin, daha sonra seçici senkronizasyon yoluyla hariç tutmanız durumunda önceden senkronize edilmiş dizinleri veya dosyaları diskinizden kaldırmayacağını unutmamak çok önemlidir. Yaptığı şey onları gelecekteki senkronizasyonlardan hariç tutar.
Örnek: Yalnızca OneDrive'ın Folder1 ve Folder2'yi senkronize etmesine izin verirseniz, daha sonra bilgisayarınızdaki OneDrive dizininize Folder3 eklerseniz, bu Folder3 OneDrive hesabınızla senkronize edilmez; ancak OneDrive hesabınızla senkronize edilen Folder1, Folder2 ve Folder3 varsa, yalnızca Folder1 ve Folder2'nin senkronize edilmesine izin vermeye karar verirseniz, Folder3 Linux makinenizdeki OneDrive dizininden kaldırılmaz, ancak bu klasörde yaptığınız değişiklikler kazanılır OneDrive hesabınızla senkronize edilmez.
Adlı bir dosya oluşturarak OneDrive Ücretsiz İstemci için seçici senkronizasyonu etkinleştirebilirsiniz
sync_list içinde
~/.config/onedrive. Bunu düzenle
sync_list dosyasını ekleyin ve OneDrive ile senkronize etmek istediğiniz dosyalara ve dizinlere her biri yeni bir satırda göreli yolu ekleyin. Bu dosyadaki hiçbir satırla eşleşmeyen tüm dosyalar ve dizinler senkronizasyondan atlanır.
Misal. Diyelim ki OneDrive hesabımda birçok dosya ve klasör var, ancak yalnızca Yedekleme ve Fotoğraflar adlı 2 dizini ve file1.ods, file2.odt ve file3.odt adlı 3 dosyayı senkronize etmek istiyorum, 3 dosyanın tümü Belgeler'de hesabımda bir klasör. Bu durumda
~/.config/onedrive/sync_list dosyasının aşağıdaki satırları içermesi gerekir:
Backup Photos Documents/file1.odt Documents/file2.odt Documents/file3.odt
Seçici senkronizasyonu ilk kez kullandığınızda ve cihazınızda her değişiklik yaptıktan sonra
~/.config/onedrive/sync_list dosyasını kullanarak şunu kullanarak tam bir yeniden senkronizasyon gerçekleştirmelisiniz:
--resync, bunun gibi:
onedrive --synchronize --resync
OneDrive Ücretsiz İstemci sistemd hizmetini etkinleştirdiyseniz (aşağıdaki 3. adım) ve şu anda çalışıyorsa, bu komutu çalıştırmaya çalıştığınızda bir hata mesajı alırsınız.
Initializing the Synchronization Engine ... A database statement execution error occurred: disk I/O error. Segmentation fault (core dumped). Bu durumda, onedrive systemd hizmetini durdurmanız, ardından resync komutunu çalıştırmanız ve ardından hizmeti şu şekilde yeniden başlatmanız gerekir:
systemctl --user stop onedrive onedrive --synchronize --resync systemctl --user start onedrive
Ayrıca, Linux için OneDrive Ücretsiz İstemci yapılandırma dosyası aracılığıyla kullanılabilen bir dizini atlama, dosyaları, dotfiles ve sembolik bağlantıları atlama seçenekleri de vardır (aşağıdaki 5. adıma bakın).
Tam düzenli senkronizasyonda olduğu gibi, bu da ilk senkronizasyon içindir. Linux için OneDrive Ücretsiz İstemcinin arka planda çalışmasını ve değişiklikler algılandığında dosyaları senkronize etmesini sağlamak için aşağıdaki 3. adıma bakın.
3. Linux için OneDrive Ücretsiz İstemci systemd hizmetini etkinleştirin.
Linux için OneDrive Ücretsiz İstemcinin bir hizmet olarak çalışmasını sağlamak için, otomatik olarak bilgisayarınızla başlar ve sürekli olarak değiştirilen dosyaları ve klasörleri senkronize ederek herhangi bir OneDrive değişikliğini izler, sistemd hizmetini etkinleştirelim.
Bir systemd hizmeti olarak kullanıldığında, Linux için bu OneDrive komut satırı istemcisi monitör modunda çalışır (
--monitor), yerel dosya sisteminizde dosya değişikliklerini sürekli olarak izlemesini sağlar. Yine de birçok dosyayla, bu, yerel ortamın neden olduğu sorunlara (yeni bir inotify saati eklenemedi) neden olabilir. Bunun çözümü, maksimum kullanıcı saati sayısını artırmaktır. Bu sayfa Debian / RedHat veya benzeri (Ubuntu, Fedora vb.) ve Arch Linux / Manjaro'da bunu nasıl yapacağınızı gösterir.
Geçerli (root olmayan) kullanıcınız için OneDrive systemd hizmetini (bildirimler etkinken) etkinleştirmek ve başlatmak için şu komutu çalıştırın:
systemctl --user enable onedrive systemctl --user start onedrive
OneDrive Ücretsiz İstemci sistemd hizmeti durumunu aşağıdakilerle kontrol edin:
systemctl status --user onedrive
Yalnızca günlükleri kontrol edin:
journalctl --user-unit onedrive -f
systemd ile ilgili: chkservice, Terminal Kullanıcı Arabirimli Sistem Yöneticisi Birim Yöneticisidir (Yeni Sürüm Mevcuttur)
OneDrive hizmetini çalıştırmanın diğer yolları için (kök kullanıcı olarak, init.d aracılığıyla) bkz. onun belgeleri.
Sökmemeniz gerektiğini belirtmek çok önemlidir.
~/OneDrive (veya OneDrive klasörü için hangi yolu kullanırsanız kullanın) klasörü OneDrive Ücretsiz İstemci çatal sistemi hizmetini çalıştırırken, tüm dosyalarınızı OneDrive'dan kaldıracağından (bunlara hala Geri Dönüşüm Kutusu'ndaki OneDrive web sitesinden erişebilirsiniz).
5. (İsteğe bağlı) Yapılandırma seçenekleri.
OneDrive klasörü için özel bir konum kullanmak istiyorsanız, değişen dosyaları izleme aralığını değiştirmek ve çok daha fazlasını yapmak için OneDrive Ücretsiz İstemci yapılandırma dosyasını kullanabilirsiniz.
Debian, Ubuntu ve türevlerinde,
/usr/share/doc/onedrive/config. Bir başka Linux dağıtımı veya bu yapılandırma dosyasını bulamıyorsanız, OneDrive Ücretsiz İstemci GitHub proje sayfasından alabilirsiniz – İşte doğrudan bir bağlantı.
Kullanıcı için Linux için varsayılan OneDrive Ücretsiz İstemci yapılandırmasını değiştirmek üzere, bu yapılandırma dosyasını
~/.config/onedrive. Örneğin. Debian / Ubuntu ve bu dosyanın altında kurulu olduğu diğer Linux dağıtımlarında
/usr/share/doc/onedrive/configkopyalayın
~/.config/onedrive kullanarak:
cp /usr/share/doc/onedrive/config ~/.config/onedrive/
Şimdi bazı OneDrive Ücretsiz İstemci seçeneklerini değiştirmek için
~/.config/onedrive/config bir metin editörü ile dosya. Buradaki tüm seçenekler yorumlandı (
# onların önünde); varsayılanlardan birini değiştirmek için satırın açıklamasını kaldırın, ardından değeri kullanmak istediğiniz değere ayarlayın.
Çoğu durumda yapılandırma dosyasındaki seçenekler kendiliğinden açıklayıcı olmalıdır. Yardım için onedrive kılavuz sayfasına bakın (
man onedrive).
Birden fazla OneDrive hesabıyla nasıl kullanılacağı, OneDrive sistemd hizmeti için proxy desteğinin etkinleştirildiği ve çok daha fazlası dahil olmak üzere Linux'ta OneDrive Ücretsiz İstemci'yi kullanma hakkında daha fazla bilgi için OneDrive Ücretsiz İstemci'ye bakın Kullanım belgeleri.