Добрый день.
Вот такая проблема: после потери питания и последующего fsck в /var/lost+found образовался кривой каталог, в котором отсутствует `..', а на его месте ls выдает `41'. Ну и как следствие, я не могу его ни удалить, ни переместить (как рекомендуют в мануале по fsck).
Подскажите, пожалуйста, как это побороть?
[FreeBSD] directory causes a cycle
LiveCD?
Что Live CD?
я не могу его ни удалить, ни переместить (как рекомендуют в мануале по 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]
[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. И так по кругу.
oO , а что покажет вывод ls -Ra
oO , а что покажет вывод ls -Ra
Ничего хорошего smile :
[console]# ls -Ra
csh: File name too long
csh: Trying to start from "/root"[/console]
Ну и дальше хоум рута показывает. А перед "File name too log" долго-долго думает.