Что делать после отмены «rm -rf / usr /» на Arch?
Поэтому я просто сделал это на моей современной системе Arch:
[anna@home ~]$ sudo rm -rf /usr/ ^C[anna@home ~]$ ^C [anna@home ~]$ ^C
Я быстро разорвал rm
. Я не могу найти ничего плохого в /usr/
eye.
- Почему я не могу удалить пустой каталог с именем пользователя www-data?
- Что значит?
- синхронизировать файлы с разным расширением в MacOS
- Безопасный поиск и удаление файлов
- Удалите файлы и каталоги, даже если они не пусты, кроме некоторых каталогов
Какие существуют варианты, чтобы увидеть, был ли нанесен какой-либо ущерб? Есть ли проверка целостности pacman, которую я должен запустить? Любые конкретные файлы, которые я должен проверить, чтобы убедиться, что система может начать снова?
С этого момента я буду хранить резервные копии всей системы.
- Каталог «~» попал в одну из моих папок
- find и rm -rf, почему он печатает ошибки?
- Как удалить все символические ссылки со специальной целью?
- Удалить файлы-призраки со специальными символами
- Удалите все файлы в папке, кроме последней (последней) 20
- Найти и удалить
- Скрипты `rm` и` rm -i`
- Как игнорировать пустые каталоги при использовании `rm` с подстановочными знаками для нескольких каталогов в zsh?
2 Solutions collect form web for “Что делать после отмены «rm -rf / usr /» на Arch?”
Я думаю, что Деннис Каарсемейкер написал правильную вещь: переустановите все пакеты.
Несколько минут googling раскрыли эту статью Arch wiki с разделом по переустановке всех пакетов. Поскольку вы не удаляли /var/cache/pacman/pkg
, процесс должен происходить локально. Команда выглядит так:
pacman -Qenq | pacman -S -
pacamn -Qeng
только списки «явно установленных», «родных» пакетов по группам. Он может пропустить некоторые пакеты из «дополнительных» или «общинных» репозиториев или любых пакетов AUR, которые вы установили. Я лично боюсь попробовать это, потому что мои установки Arch работают, но
pacman -Qn | awk '{print $1}' | pacman -S -
может переустановить каждый отдельный пакет, который он может. Я не уверен, как он будет обрабатывать зависимость, которая будет установлена явно позже в этом процессе. Возможно, вы переустановите пакеты, которые уже переустановлены в качестве зависимости.
Если вам удастся удалить pacman
, я думаю, что процесс просто может включать частичную «новую установку» с использованием Arch install ISO, но я боюсь рекомендовать это.
Если вы не хотите (повторно) устанавливать все пакеты, вы можете сделать трюк: подкаталоги check /var/lib/pacman/local
и их files
, содержащие все установленные файлы на пакет.
Итак, простой, не проверенный (и не идеальный) скрипт:
cd /var/lib/pacman for package in *; do for file in $(grep ^usr ${package}/files); do [ -e "/${file}" ] || echo Bad package: ${package} done done
Вы можете улучшить этот скрипт (возможно, если ${file}
не существует, запустите pacman -S ${package}
и продолжите), но я думаю, что основная идея не так уж плоха π
- Как написать файл служебного блока systemd, чтобы он до тех пор, пока не запущен какой-либо конкретный интерфейс?
- Как определить, подключен ли аудиокабель?