Directory non eliminabile in lost + found


10

Come posso eliminare questa directory? L'ho fatto fscke ha trovato un po 'di spazzatura, ho guardato attraverso questi file e non c'era qualcosa di importante. Quindi ho provato a cancellare il contenuto di /lost+founde tutto è andato tranne questa strana directory. Ho pensato che metterlo in /tmp(posso spostare quella directory sul volume) lo cancellerà al prossimo riavvio ma è ancora lì dopo sia il riavvio che un altro fsck.

Poiché sembra che il problema sia di basso livello e che giocare con proprietà e autorizzazioni non sia sufficiente, ti ho reso in grado di riprodurre il problema da solo. Godere!

  • Questo è sicuro, sarai in grado di smontare l'immagine per sbarazzarti di queste directory sul tuo computer ;
  • Questa non è immagine iso, questo è il risultato didd if=/dev/sda1 of=/files/broken.iso ;

Ho creato un archivio da 15 MB con l'immagine che è ~ 1,2 GB. Puoi scaricarlo e compilarlo con i seguenti comandi:

cd /tmp
wget https://dl.dropboxusercontent.com/u/22701362/broken.tar.xz
tar xvf broken.tar.xz
mkdir test
sudo mount broken.iso test
cd test

Ci sarebbero due directory (durante la creazione di quell'immagine sembra che ci siano due di queste directory sul mio disco):

/tmp/test> tree
.
├── 1
│   └── plexus-component-annotations-1.5.5.jar.sha1 [error opening dir]
└── 2
    └── #1589030 [error opening dir]

4 directories, 0 files

Buona fortuna con la rimozione di queste due directory:

/tmp/test> sudo rm -rf *
rm: cannot remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
rm: cannot remove '2/#1589030': Operation not permitted

/tmp/test> sudo chown -R root:root *
chown: changing ownership of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chown: cannot read directory '2/#1589030': Permission denied

/tmp/test> sudo chmod -R 777 *
chmod: changing permissions of '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
chmod: changing permissions of '2/#1589030': Operation not permitted
chmod: cannot read directory '2/#1589030': Permission denied

Come va /tmpsullo stesso volume? Potresti pubblicare l'output di df? Inoltre, si prega di pubblicare l'output di sudo perl -MFile::Path -e 'rmtree("/tmp/foo") || die "$!"'nel caso in cui riceviamo un messaggio di errore più informativo.
Terdon,

@terdon Ho aggiunto l'output alla domanda. Pensi che l'output sia anche un po 'utile?
Lutto

1
Bene, l' dfoutput ci mostra che il tuo / tmp` è in realtà una directory normale /e non un tmpfs che è l'impostazione predefinita. È sorprendente, ma spiega sia il motivo per cui è possibile copiare la directory /tmpsia perché sopravvive al riavvio. L' perloutput non aggiunge molto, no, ma valeva la pena tentare. Sto stringendo le cannucce qui.
Terdon,

offtopic: in Ubuntu /tmpè una directory normale per impostazione predefinita. Questo viene fatto per evitare di riempirlo fino al 100% e per risparmiare RAM. Viene ripulito durante l'avvio. Questo comportamento esiste da molto tempo.
Lutto

Proverei a fare il boot di un livecd, poi frugando nel filesystem.
Journeyman Geek,

Risposte:


8

Una possibilità è la bandiera immutabile nel caso del filesystem ext. Vedi l'output del lsattrcomando. Se ipresente, può essere rimosso conchattr -i filename

Un file con l'attributo 'i' non può essere modificato: non può essere eliminato o rinominato, non è possibile creare alcun collegamento a questo file e nessun dato può essere scritto nel file. Solo il superutente o un processo che possiede la capacità CAP_LINUX_IMMUTABLE può impostare o cancellare questo attributo.

In questo caso, sta succedendo qualcos'altro

Questo sembra funzionare,

> lsattr 1
-----a---------- 1/plexus-component-annotations-1.5.5.jar.sha1
> rmdir 1/plexus-component-annotations-1.5.5.jar.sha1
rmdir: failed to remove '1/plexus-component-annotations-1.5.5.jar.sha1': Operation not permitted
> chattr -a 1/plexus-component-annotations-1.5.5.jar.sha1
> rmdir 1/plexus-component-annotations-1.5.5.jar.sha1

> lsattr 2
---D-ad--j--T--- 2/#1589030 
> chattr -D -a -d -j -T 2/\#1589030
> rmdir 2/\#1589030

No. Hai visto che ho usato sudo? Gradirei se scarichi l'immagine, montala e provi te stesso.
Lutto

Questa non è una 'immagine iso' di cui è il risultatodd if=/dev/sda1 of=broken.iso
Grief

Sì, probabilmente hai ragione, scusa! Hai avuto la possibilità di riprodurre il problema?
Lutto

1
Sì, e sembra davvero strano.
JJ Hakala,

Adesso mi sento così stupido :( Ma tu sei il mio eroe del giorno, signor JJ Hakala
Grief

1

prova a diventare l'utente proprietario per eliminarlo

sudo -u 6666 -g 19312 rm -rf ./#1589030

sudo -u '#6666' -g '#19311' rm -rf \#1589030 rm: cannot remove '#1589030': Permission denied sudo -u '#6666' -g '#19311' chmod 777 \#1589030 chmod: cannot access '#1589030': Permission denied
Lutto

Devi fare che utente se non esiste
Amias

la creazione di utenti e gruppi con questi UID e GID non ha aiutato
Grief
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.