iCloud Drive, kullanıcıların içeriklerini sessizce siliyor
(dominikmayer.com)- iCloud Drive’daki gizli dosya çakışması nedeniyle yakın zamanda yazılan paragraflar veya kod değişiklikleri kayboldu; kayıp, yedekler kaydedilmeden önce gerçekleşti
- Çakışma, Mac ve iPhone’da aynı dosyanın farklı sürümleri olduğu varsayılan bir durumda ortaya çıktı; ancak sorunlu dosya iPhone’da hiç açılmamıştı
- Dropbox çakışan dosyayı ayrı olarak bırakır; iCloud Drive ise bunu dosya sisteminde göstermediği için seçim açılır penceresi yalnızca çakışma işlemeyi destekleyen düzenleyicilerde görülebiliyor
- Textifier, Xcode, Obsidian gibi çakışma işlemesi olmayan düzenleyicilerde hangi sürümün kaydedileceğine iCloud karar veriyor; zaman geçtikçe doğru sürüm yedekte üzerine yazılabilir
- Önemli verileri iCloud Drive’ın dışında tutmak ve kritik dosyalardaki değişiklikleri bir Git deposu ile izlemek daha güvenli; iCloud’da kalması gereken dosyalar için Cloud Cub da geliştiriliyor
iCloud Drive’ın gizli dosya çakışması
- Belge yazarken az önce girilen bir paragraf kayboldu; uygulama geliştirirken de Xcode, daha önce sorunsuz olan kodda birden fazla hata gösterdi
- Birden çok dosyadaki son değişiklikler silinmiş durumdaydı
- Kayıp, Time Machine veya Backblaze bunları kaydetmeden önce gerçekleşti
- Neden, iCloud Drive’ın algıladığı dosya çakışmasıydı
- iCloud Drive, Mac ve iPhone’da aynı dosyanın farklı sürümleri bulunduğunu ve bunları otomatik olarak birleştiremeyeceğini düşündü
- Ancak etkilenen dosyalar iPhone’da hiç açılmamıştı
- Mac’in Documents klasörü iCloud’a taşınmış olduğundan bu dosyalar iCloud’daydı
- Dropbox’ta sürüm çakışması oluştuğunda, “(John Doe’s conflicted copy)” gibi adlandırılmış çakışan dosya da birlikte kaydedilir
- iCloud Drive aynı çakışmayı dosya sisteminde göstermez
- Dosya, çakışma işlemeyi destekleyen bir düzenleyicide açıldığında hangi sürümün tutulacağını soran bir açılır pencere görünür
- Textifier, Xcode, Obsidian gibi çakışma işlemesi olmayan düzenleyicilerde diske ve yedeklere hangi sürümün kaydedileceğine iCloud karar verir
Kurtarma koşulları ve yapılabilecekler
- Zaman geçip yeni bir yedek, doğru sürümü içeren eski yedeğin üzerine yazarsa içerik kalıcı olarak kaybolabilir
- Kurtarmak için ilgili dosyayı çakışma çözümlemeyi destekleyen bir düzenleyiciyle açmak gerekir
- Örnek olarak kullanılan düzenleyici iA Writer
- Dosya iCloud Drive’ın dışına taşındıktan sonra bu yöntem de yardımcı olmaz
- Testlerde, değiştirilmemiş dosya tekrar iCloud’a taşındığında çakışan sürüm açılır penceresi yeniden göründü; ancak dosya düzenlenmişse veya bir kopya üzerinde çalışmaya devam edilmişse bu böyle olmayabilir
- Sürüm çakışmalarını gizleme yaklaşımı kullanıcı dostu görünebilir; ancak önemli bir belgeyi yıllar sonra yeniden açana kadar veri kaybını fark etmeyebilirsiniz
- iCloud Drive sürüm çakışmalarını dosya sisteminde veya kolay erişilebilir merkezi bir konumda görünür hâle getirene kadar önemli verileri iCloud Drive’ın dışına taşımak daha güvenli
- iCloud Drive’da kalması gereken dosyalar için gizli eşzamanlama çakışmalarını algılayıp çözen Cloud Cub geliştiriliyor
1 yorum
Hacker News görüşleri
Benzer bir şey yaşadım: Eşimin iPhone’undaki Notes’ta bulut senkronizasyonu açıktı; gerek olmadığını düşünüp kapattım, eşim de “Bütün notlarım nereye gitti? Ne yaptın?” dedi.
Soğuk terler döktüm ama senkronize Notes uygulamasının bulunduğu bir iPad aklıma geldi; hemen açıp WiFi’ı kapatarak notları “korudum”.
Apple’ı aradım ve destek görevlisi, her notu yeni bir klasöre kopyalayıp yapıştırarak silinmemesini sağlayabileceğimiz bir yöntem buldu.
Birkaç saat boyunca epey stresliydi; Apple’ın bu tür işlemlerin tüm etkisi konusunda daha fazla uyarı veya açılır pencere göstermesi gerektiğini düşünüyorum.
Ayrıca Apple teknik desteğinin telefona fiilen “VNC” gibi bağlanıp bakabildiğini ve ayarları değiştirebildiğini de öğrendim. Sanırım izin istemişlerdi ve ben de “onayla”ya basmıştım ama bunu gerçekten görmeden önce böyle bir özelliğin varlığından bile haberim yoktu.
Üstelik neden, kişinin kendi hatası gibi görünmesine rağmen yardım ettiler. Şirketimiz Google ürünlerine çok para ödüyor ama Google’ın böyle bir konuda telefonda yardımcı olma ihtimali neredeyse yok.
Daha önce erişim kontrolü gibi konularda bir yetkiliyle konuşmuştum ama Keep notları kaybolduğunda yardım istesem kibarca defolup gitmemi söyleyeceklerini düşünüyorum. Gerçekten de Keep notları da ara sıra kayboluyor.
Eşinin sorunu Apple’dan çok iOS cihazını yöneten kişi tarafındaymış gibi görünüyor.
Gerçekten milyon kez katılıyorum. Ama bu yalnızca iCloud’a özgü bir sorun değil; Apple yazılımının genelinde görülen temel bir eğilim gibi duruyor.
Books’ta PDF’lere fosforlu işaret koyarken de bunu tekrar tekrar yaşadım. Bazen PDF’yi yeniden açtığımda, yakın zamanda işaretlediğim birkaç sayfanın kaybolduğunu görüyorum.
Çalışırken sürekli kaydediliyor gibi görünse de bilinmeyen bir nedenle 11:45 sürümü yerine 11:35 sürümünü en güncel ana sürüm olarak değerlendiriyor.
Apple’ın yeni içeriği sessizce eski bir sürümle üzerine yazması sorunu en az 10 yıldır devam ediyor.
Böyle ölümcül bir kusurun başta sisteme nasıl girdiğini ve hâlâ neden düzeltilmediğini anlamıyorum.
Ücretsiz ve BSD lisanslı, ancak değişiklikleri diğer uygulamalarda da görmek istiyorsanız açıklama eklenmiş PDF olarak dışa aktarmanız gerektiğini unutmamak lazım.
Apple’ın kontrastı öldüren turuncumsu arka planından veya gerçek sarı fosforlu kalem olmamasından bıkanlar için denemeye değer. İlgim yok, sadece var olduğu için minnettarım.
https://skim-app.sourceforge.io/
Donanım tarafında da floppy diskleri, optik sürücüleri ve CPU mimarisinin tamamını üç kez oldukça acımasızca kestiklerini hatırlıyorum.
iCloud’da bu tutum sanki dosyalara da uygulanıyor. Hepsinin kötü olduğunu söylemem ama yaşım ilerledikçe giderek zevkime daha uzak hale geliyor.
Yazar git kullanılmasını öneriyor ama git, iCloud Drive ile pek iyi geçinmiyor.
Eskiden iCloud Drive’da yüzlerce git deposu tutuyordum; büyük bir commit yaptığımda, yüzlerce GB’lık iCloud Drive’ın tamamı Apple sunucularıyla yeniden senkronize olurdu ve bu bir gün sürerdi.
Apple desteğinde konuyu epey üst seviyeye taşıyarak çözmeye çalıştım ama sonunda çözülmedi. Şimdi git depolarını iCloud Drive’ın dışında tutuyorum.
Son büyük değişikliğin senkronizasyonu bitmeden yüzlerce dosyayı hızla aynı anda değiştirince bu durum tetikleniyor gibi görünüyor.
İkisi iyi uyuşmuyor; özellikle birden fazla cihaz aynı bulut sürücüsüyle senkronize ediliyorsa, her türlü garip ve beklenmedik davranışın ortaya çıkmasına zemin hazırlıyor.
Sorun şu ki kullanmak zorunda olduğum bir uygulama başka bir senkronizasyon yöntemi desteklemiyor; bu yüzden bazı önemli dosyalar için iCloud Drive kullanmak zorundayım.
git olmasaydı hangi dosyaların değiştiğini bile anlayamazdım. git olsa bile her şeyi yakaladığından emin olamıyorum. iCloud senkronizasyon çakışmaları yüzünden git içeriği de değişebilir gibi geliyor.
Çok büyük veriler için iyi olmayabilir ama iCloud Drive’da olup agresif biçimde sürüm yönetimi yapmak istediğim şeylerin çoğu metin ya da küçük dosyalar olduğundan iki kopya tutmanın yükü neredeyse yok.
[1] https://github.com/anishathalye/git-remote-dropbox
iCloud Drive kullanmamak için daha büyük bir neden, uçtan uca şifrelemenin varsayılan olmaması.
Orada sakladığınız her şey Apple sistem yöneticileri, destek görevlileri ve Apple’dan talepte bulunabilecek kişiler — örneğin şu anda arama izni olmadan bile bunu yapabilen ABD hükümeti — tarafından okunabilir.
Uçtan uca şifreli olmayan servisleri kullanmamak daha iyi.
Şu anda iCloud’da isteğe bağlı uçtan uca şifreleme var ama varsayılan olarak kapalı ve ayarların derinlerine gömülü olduğu için neredeyse kimse kullanmıyor.
Ben tüm cihazlarımda dosyaları tutmak için Syncthing kullanıyorum. Uçtan uca şifreli, özgür yazılım ve çakışma yönetimi ile sürüm yedekleri de makul.
Düz metni asla göremeyen, güvenilmeyen yalnızca senkronizasyon amaçlı cihazları da destekliyor; böylece bir VPS’te veya harici bir konumda güvenli şekilde düğüm bulundurabilirsiniz.
Bir arkadaşınızı veya aile üyesini menüde iki kez dokunup bunu açmaya ikna etmek kolaydır; ama birden fazla cihaza Syncthing kurup yapılandırmaya ikna etmek kolay değildir.
Syncthing’i savunmak sorun değil, ama ortalama kullanıcının anahtarı kaybederse tüm verilerini kaybedebileceği bir ayarı varsayılan olarak açmadığı için iCloud Drive’a kötü demek biraz komik.
Büyükannenin varsayılan olarak daha güvenli bir şeydansa, parolasını unuttuğunda Apple’ı arayıp küçük Johnny’nin fotoğraflarını geri almayı çok daha fazla isteyeceğine bahse girerim.
Ben de uçtan uca şifrelemeyi açmak istiyorum ama anahtarı kaybetmeyeceğim konusunda kendime yeterince güvenmiyorum.
Mesajlaşmada olduğu gibi karşı tarafın da uçtan uca şifrelemeyi açması gereken bir durum da değil.
https://support.apple.com/en-ca/HT212520
Ben de bu yüzden epey sinirlendim. Calibre kitaplığımı Documents klasörüne koymuştum. Başka nereye koyacaktım ki, üstelik ücretsiz yedekleme de dahil diye düşündüm.
Ama bir süre önce kitaplığın içindeki bazı kitap klasörlerinin, içinde asıl epub dosyası olması gerekirken boş olduğunu fark ettim.
Dizin yapısı ve veritabanı kayıtları vardı ama sadece kitap dosyaları kaybolmuştu. Hepsi değil, rastgele şekilde yaklaşık %40’ı.
Sonuç: sevdiğiniz şeyleri iCloud Drive’da saklamayın; özellikle de kitapları kesinlikle saklamayın.
“Çakışma yönetimini destekleyen bir düzenleyicide dosyayı açarsanız hangi sürümün tutulacağını soran bir açılır pencere çıkar. Textifier, Xcode, Obsidian gibi çakışma yönetimi olmayan düzenleyiciler ise diskte ve yedekte hangi sürümün saklanacağına iCloud’un karar vermesine izin verir” kısmı için, iCloud desteği eklerken çakışma yönetimi mekanizması eklemeyen uygulama geliştiricilerinin de bir miktar sorumluluğu olduğunu düşünüyorum.
Ama Apple’ın kendi uygulaması Xcode neden çakışma yönetimini desteklemiyor? Apple yazılımı, üçüncü taraf geliştiriciler için standardı belirlemeli.
Apple bile sürüm çakışmalarını ele almıyorsa, elbette diğer geliştiriciler de ele almaz.
Çakışma yönetimini destekleyen bir düzenleyici kullansanız bile içerik kaybedebilirsiniz.
Bir şey yazıp kaydettikten sonra düzenleyiciyi kapatıp bir daha açmadığınızı varsayarsak, iCloud o dosyanın içeriğini değiştirebilir ve kullanıcının bunu bilmesinin bir yolu yoktur.
Veri kaybetmemenin tek yolu bir Git deposu oluşturmak ya da önemli tüm dosyaları çakışma yönetimini destekleyen bir düzenleyicide düzenli olarak açmaktır.
Bu bir Xcode hatası değil, iCloud hatası.
iCloud Drive’a dosya koyarsanız iPhone yerel kopyayı istediği zaman kaldırabilir.
Dosyayı senkronize ederken yerel kopyanın %100 mevcut olduğundan emin olmak istiyorsanız aynı dosyayı hem iCloud Drive’da hem de “iPhone’umda” klasöründe tutmanız gerekir.
Apple Books, Numbers ve iCloud Drive kullanan tüm uygulamaların yerel kopyaları sürekli kaldırmasının nedeni bu.
iCloud Drive kullanan basit bir not uygulaması yaptım; uygulamayı kapatınca iCloud 2 KB’lık txt dosyasını bile açgözlüce kaldırıyordu. Bazen de silmiyor, yani oldukça rastgele.
Depolama alanınızın bol olması fark etmiyor; iCloud sürekli kullanılan dosyaların yerel sürümünü de kaldırabiliyor.
Apple geliştirici desteği yapabilecekleri bir şey olmadığını söyledi. Geliştiricilerin de bir dosyayı asla kaldırma diye işaretlemesinin bir yolu yok.
Resmî belgelerde Apple, kullanıcıların tüm dosyalarını gerçekten iCloud Drive’da tutmasını ve “iPhone’umda” içinde kopya bulundurmamasını öneriyor.
Contacts’ın kaybolduğu benzer bir sorun yaşadım. Bir süre boyunca oluyordu ama başta kendi hatam sandım.
Bir sabah, önceki gece mesajlaştığım bir arkadaşımın kişi kaydının kaybolduğunu görünce sorunun iCloud olduğunu anladım.
Apple destekle iletişime geçtim; temel yönergelerin hepsini denedikten sonra görevli bunun bilinen bir sorun olduğunu ama kök nedeni bulamadıklarını ve çözüm olmadığını kabul etti.
Silmenin ne zaman gerçekleştiğini anlayabilmeleri için kişileri izlememi söylediler; üstelik birkaç dakikalık bir aralık vermem gerektiğini söylediler.
Gerekçe olarak “iPhone çok fazla günlük oluşturduğu için tam olarak ne zaman olduğunu belirleyemezseniz mühendisler bakamaz” dediler.
Hatanın aralığını 8 saate indirmiş olmamın gayet yeterli olduğunu düşündüm ama görevli, mühendislerin böyle söylediğini belirterek birkaç dakika düzeyinde doğruluk istedi.
Sonunda Apple desteğe zor bir sorun emanet ettiğim her seferinde olduğu gibi görevli tekrar iletişime geçeceğini söyledi ama bir daha aramadı ve hiçbir şey olmadı.
Kişilerimi Google’a taşıdım ve konuyu unuttum.
Bu sorunu inceledim. Apple, kullanıcıları çakışmalarla fazla uğraştırmamak için belirli koşullarda kullanıcı verilerini kaybettiren bir eşitleme stratejisi seçmiş
Çakışan revizyonları koruyabilen çok daha eski teknikleri kullanmamaya karar vermiş
Özet burada
https://www.youtube.com/watch?v=q8k1q6kf1W0
Böylece insanlar “Apple dosyalarıma ne yaptı?” diye arayıp kurtarma yöntemini bulabilirdi
Rahatsız etmeme demişken, iOS bir güncellemede arama ayarlarımı sessizce değiştirip bazı arayanlar için telefonumun çalmamasına neden olmuştu
Zihni sakinleştirmeye yönelik saçma sapan bir özellik gibiydi; ama NHS'nin yapısı gereği geri araması zor olan kanser cerrahının aramasını kaçırınca epey kaygılandım
Benim durumumda iCloud Drive bazen öylece eşitlenmiyor ve bir şeye takılı kalıyor. Finder'daki iCloud Drive simgesinden eşitleme durumunu görebilirsiniz
macOS ve iOS'taki tüm uygulamaları kapatıp
killall birdçalıştırmak bazen çözüm oluyor.bird, iCloud eşitleme servisidir