LinuxForum.Fans
Тема

[FreeBSD] directory causes a cycle

Автор: thetosh 7 сообщений 5270 просмотров
#107854

Добрый день.

Вот такая проблема: после потери питания и последующего fsck в /var/lost+found образовался кривой каталог, в котором отсутствует `..', а на его месте ls выдает `41'. Ну и как следствие, я не могу его ни удалить, ни переместить (как рекомендуют в мануале по fsck).

Подскажите, пожалуйста, как это побороть?

#107864

Что Live CD?

#107889
thetosh написал:
я не могу его ни удалить, ни переместить (как рекомендуют в мануале по fsck).

Подскажите, пожалуйста, как это побороть?

удалить можно по иноду. Далее пример

1)ls -li
2) find . -inum <здесь указываем инод файла> -exec rm -i {} \;

пример:
[console]
#ls -i
282626 .cshrc 282630 .login_conf 282631 .mailrc 282629 .rhosts 282634 .ssh 306702 pub
282628 .login 282627 .mail_aliases 282632 .profile 282633 .shrc 290144 12
[/console]
далее:
[console]
flsrv05# find . -inum 290144 -exec rm -i {} \;
remove ./12? yes
flsrv05# ls -i
282626 .cshrc 282630 .login_conf 282631 .mailrc 282629 .rhosts 282634 .ssh
282628 .login 282627 .mail_aliases 282632 .profile 282633 .shrc 306702 pub
[/console]

#107944
i2ks написал:
[quote=thetosh]я не могу его ни удалить, ни переместить (как рекомендуют в мануале по fsck).

Подскажите, пожалуйста, как это побороть?

удалить можно по иноду. Далее пример

1)ls -li
2) find . -inum <здесь указываем инод файла> -exec rm -i {} \;
[/quote]
<..skip..>

Не, так не работает. Поясню ситуацию:
[console]
# ls -a /var/bad
. .. bad1
# ls -a /var/bad/bad1
. aa
[/console]
Т.е. в /var/bad есть и `.' и `..', а в /var/bad/bad1 `..' нету. Вместо него там `aa', заходя в который мы попадаем в /var/bad/bad1/aa, который снова содержит bad1. И так по кругу.

#108474

oO , а что покажет вывод ls -Ra

#108854
i2ks написал:
oO , а что покажет вывод ls -Ra

Ничего хорошего smile :
[console]# ls -Ra
csh: File name too long
csh: Trying to start from "/root"[/console]
Ну и дальше хоум рута показывает. А перед "File name too log" долго-долго думает.

Войдите или зарегистрируйтесь, чтобы ответить.