Перемещение не записываемых файлов и перемещение не записываемых каталогов

Linux не перечитывает таблицу разделов, кроме как при загрузке (или подключении диска) или когда явно сказано сделать это (например, с помощью fdisk после его написания или с помощью partx или blockdev --rereadpt ). Так что, пока вы не выполните одно из этих действий, sdc [1-4] будет продолжать существовать.

Самым простым решением было бы вызвать partprobe , чтобы дать ядру команду перечитать таблицу разделов на всех устройствах, или partprobe / dev / sdc , чтобы повторно прочитать раздел таблица только на этом диске. Или вы можете использовать fdisk для записи этой пустой таблицы разделов, тогда fdisk будет делать то же самое, что и partprobe .

Обратите также внимание на то, что ядро ​​не будет перечитывать его, если диск (или, скорее, любой из его разделов) используется (например, в качестве файловой системы, подкачки, LVM PV и т. Д.). Конечно, если они использовались, у вас возникла проблема, поскольку вы их только что стерли.

Наконец, если вы уже пытались принудительно перечитать, возможно, ваши случайные данные просто совпадают с подписью таблицы разделов. Linux поддерживает множество различных форматов таблиц разделов (список выбирается при компиляции ядра), а подпись некоторых из них составляет всего один байт, поэтому вероятность совпадения случайных данных составляет 1/256. У других подписи длиннее, так что шансы на это гораздо меньше.Я не уверен, какова общая вероятность, но быстрая проверка журналов ядра покажет, какой формат таблицы разделов распознал ядро.

1
11.03.2016, 01:08
1 ответ

Удаление каталога или файла связано только с разрешениями на каталог, который содержит удаляемый файл / каталог. Разрешения на сам файл / каталог не имеют значения. Следовательно, почему вы можете удалить каталог с помощью rmdir , даже если он принадлежит root : вы не показывали его в своем выводе, но вы явно прочитали, напишите и выполнить разрешения для каталога, который содержит каталог .

Я написал больше в другом месте на , что именно позволяет выполнять каждое отдельное разрешение на каталог .

Что касается того, почему вы не можете переместить каталог в target_directory , я не уверен. Я не могу воспроизвести это на своей коробке. Это может быть вызвано множеством причин, от расширенных атрибутов, установленных в каталоге , до возможности того, что target_directory может быть точкой монтирования для отдельной файловой системы, чем та, которая содержит каталог . Дело не только в разрешениях.

(PS: в следующий раз выберите лучшие примеры имен; использование имен «каталог» и «файл» сделает попытки описать то, что происходит, действительно раздражает.)

1
27.01.2020, 23:48

Теги

Похожие вопросы