Вы могли сделать это с парой операторов.
Во-первых, заставьте список каталогов удалять использование
find -name *.rar -exec dirname {} ';' > toremove
Далее, cat toremove
для проверки это имеет папки, которые Вы хотите. Затем передайте его rm -rf
использование
sed 's/^/"/g' toremove | sed 's/$/"/g' | xargs rm -r
Наконец, rm toremove
.
Когда загрузчик называет ядро, это передает его названный параметр root
. Таким образом, после того как ядро закончило инициализировать его, продолжится путем монтирования данного корневого раздела к /
и затем вызов /sbin/init
(если это не было переопределено другими параметрами).
Затем init
процесс запускает остальную часть системы путем загрузки всех сервисов, которые определяются, чтобы быть запущенными в значении по умолчанию runlevel.
В зависимости от Вашей конфигурации и в init системе, которую Вы используете, может быть несколько других шагов между теми, что я упомянул. В настоящее время самыми популярными init системами на Linux является SysVInit (традиционный), Upstart и Systemd. Можно найти больше деталей о процессе начальной загрузки в этой статье Википедии.
Вот упрощенный пример моей конфигурации Личинки. Важная часть для ответа на вопрос находится на предпоследней строке, существует a root=/dev/sda3
:
menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-40864544-2d0f-471a-ab67-edd7e4754dae' {
set root='hd0,msdos1'
echo 'Loading Linux 3.12.6-gentoo-c2 ...'
linux /kernel-3.12.6-gentoo-c2 root=/dev/sda3 ro
}
Во многих конфигурациях монтируется ядро /
в режиме только для чтения и всей остальной части опций установлены на значения по умолчанию. В /etc/fstab
Вы могли бы указать параметры файловой системы, которые будут затем применены, после того как init повторно монтирует его.
Запись в fstab
необходима, если вы хотите указать некоторые параметры монтирования, отличные от -по умолчанию. Однако в настоящее время с systemd
правильное устройство ядра и тип fs в fstab
не нужны. Вы можете заменить корневую запись чем-то вроде:
#UUID=8f74237d-b689-4beb-9d1f-f60b426c9969 / ext4 rw,relatime,data=ordered 0 1
dummy / auto rw,relatime,data=ordered,debug 0 1
и параметры монтирования по-прежнему учитываются systemd.
Вы можете использовать любое неверное имя устройства, например. /dev/sdz1
, за исключением плохого UUID. При неправильном UUID сообщение будет напечатано при загрузке :Failed to start Remount Root and Kernel File Systems
, но система все равно загружается.
init
обработайте затем монтирует вещи в/etc/fstab
согласно параметрам там, который обычно означает повторно монтировать корневое чтение-запись раздела. – goldilocks 04.01.2014, 16:20