Dosya kaldırılamıyor: “Yapının temizlenmesi gerekiyor”


22

LUKS ile şifrelenmiş harici bir sabit diskim var. Bir ext4 fs içerir.

Ben sadece bu sürücüde bulunan bir dosya için rsync bir hata var:

rsync: readlink_stat("/home/some/dir/items.json") failed: Structure needs cleaning (117)

Dosyayı silmeye çalışırsam aynı hatayı alıyorum:

rm /home/some/dir/items.json
rm: cannot remove ‘//home/some/dir/items.json’: Structure needs cleaning

Herkes dosyayı kaldırmak ve sürücü / fs (varsa) ile ilgili sorunları gidermek için ne yapabilirim biliyor mu?

Yanıtlar:


23

Bu, dosya sistemi bozulmasının güçlü bir göstergesidir. Çıkarmalı, diskinizin sektör düzeyinde bir yedeğini almalı ve sonra ne olduğunu görmek için e2fsck'i çalıştırmalısınız. Büyük bir bozulma varsa, e2fsck'in verileri kurcalamasına izin vermeden önce sektör düzeyinde bir yedekleme yaptığınızdan memnun olabilirsiniz.


Ne önerdin? e2fsck bazı fs hatalarını düzeltti. Görünüşe göre normale döndüm. Thx =)
Rotareti

İnsanlara, örneğin gpartedbunu yapmak için GUI'leri kullanmalarını şiddetle tavsiye ediyorum . Gparted, e2fsck'i hala (bir bölümü kontrol etme durumunda) sarar, ancak grafik arabirimi uygun sabit diski seçmeyi ve bu araçları doğru argümanlarla çalıştırmanızı sağlar. Yanlış argümanlar ile ciddi veri kaybı riski!
Qqwy

7

Kimseye yardımcı olursa, benzer bir sorunum vardı (etkilenen bir dosyada rsync / rsnapshot yedekleri). Sorunumu / çözümümü buraya gönderdim:

https://ubuntuforums.org/showthread.php?t=2348768&p=13627299#post13627299

ÖZET:

arch linux x86_64 sisteminde rsnapshot (rsync) yedekleme hatası; bozuk, derin yuvalanmış bir dosya bu hatayı atıyordu, o dosyayı silmeye çalıştığımda da gösteriliyor:

sudo rm -fR hourly.5/

rm: cannot remove 'hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/victoria.a.stuart@gmail.com/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak': Structure needs cleaning

İşte sorun:

cd mnt/Vancouver/temp/temp\ -\ old/temp\ -\ 09\ \(Dec\ 07\,\ 2014\ -\ Sep\ 02\,\ 2015\)/a_OLD-gmail/victoria.a.stuart@gmail.com/\[Gmail\]/LINUX/rsync\,\ rsnapshot\;\ Other\ backups/

ls -l

ls: cannot access '19.bak': Structure needs cleaning
total 0
-????????? ? ? ? ?  ? 19.bak        ## << THAT IS THE PROBLEM!!

[Ayrıca bkz: https://www.reddit.com/r/linuxquestions/comments/4b47r2/has_anyone_ever_gotten_sttruc_needs_cleaning/ ]

Yedekleme sürücüm / dev / sda1.

sudo umount /dev/sda1

sudo fsck.ext4 /dev/sda1  ## << accepted suggested fixes

Yeniden başlatıldı: her şey yolunda görünüyor. Yedekleme sürücüsüne gitti, sorunlu dosyayı sildi:

/mnt/Backups/rsnapshot_backups/hourly.5/snapshot_root/mnt/Vancouver/temp/temp - old/temp - 09 (Dec 07, 2014 - Sep 02, 2015)/a_OLD-gmail/victoria.a.stuart@gmail.com/[Gmail]/LINUX/rsync, rsnapshot; Other backups/19.bak

QED ?!

[Güncelleme: evet; işe yaradı: yedeklerim tekrar normal çalışıyor! :-)]


2

Dosya sistemleri bazen düzgün değildir ve temizlenmesi gerekir. Bu fsck komutu ile yapılabilir . Ancak unutmayın, dosya bozulma riskini önlemek için fsck'i yalnızca monte edilmemiş bölümlerde çalıştırmalısınız.

Dosya sisteminiz ext4 ise, bu komutu çalıştırmayı deneyin:

fsck -AR -t ext4 -y

0

Linux sisteminde CP1251 dosya sistemini kodlamada pencereleri kaldırmayı denerseniz, .Trash-0'ı kaldırmayı denemek her zamanki hatadır. Yani fs yozlaşmış ama bu doz önemli değil. Windows'un Fs'si her zaman Linux'tan görüldüğü gibi bozulmuştur. Ama öyle değil. Bu dosyayı windows os'dan açmayı deneyebilirsiniz Her şey iyi olacak. Ve sonra pencerelerden kaldırın. Ve sadece o temiz çöpten sonra.


1
Bu bir çözüm değil: LUKS ile şifrelenmiş LUKS sürücüsü. Bence Windows'dan erişmek (veya en azından erişimi denemek) en iyi fikir değil.
mrc02_kr

-1

herşey!! benim proxmox kabuğu bu komut ile bu sorunu gidermek

pct stop 100 ## kabı durdur

pct fsck 100 ## fsck konteyner, bu onarım sorunu, konteyner sisteminde bozuk bazı sorunlar dosyaları

pct 100 başlatmak ## konteyner başlatmak, tamam, şimdi yedekleme ve hepsi iyi !!

Herkese teşekkürler, Chuck


1
Yani cevabınız - diski kullanıyor olabilecek herhangi bir yazılımı durdurun, çalıştırın fsckve diski kullanmaya devam edin. Bu DepressedDaniel'in cevabından nasıl farklı ?
G-Man,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.