Залежно від налаштування системи та вашої команди, ви, ймовірно, втратили лише деякі файли, включаючи один необхідний -, папки та деякі символьні посилання.
Використання команди rm *
- виконується адміністратором у кореневій папці - зазвичай видаляє тільки sym-link / тощо:
- Завантажтесь в режимі одиночного користувача, перевірте вашу файлову систему
/sbin/fsck -fy
та встановіть root читання / запис /sbin/mount -rw /
. Потім відтворіть sym-link / etc з ln -s /private/etc /etc
та перезавантажте ваш Mac shutdown -r now
.
Використовуючи команду sudo rm *
- виконану sudoer у кореневій папці - у стандартній установці ви втратите лише файл 'mach_kernel' та символьні посилання 'etc', 'tmp' та 'var'.
(У файловій системі не було видалено жодних інших файлів) . Після подальших розслідувань з'ясовується, що деякі інші файли та папки також часто видаляються: папка з назвою судора (зазвичай це коротке ім'я вашого облікового запису адміністратора) у / private / var / db / sudo / та .state файл із довільне ім'я (generatedUID вашого акаунта адміністратора / sudoer), пов’язане з іншим файлом з однаковою назвою в / private / var / db / shadow / hash /. Я не можу визначити, чи вони видалені через "sudo", "rm" або "sudo rm". Ці файли та папки мають незначне значення.
Я перевірив це на майже ванільній Mac OS X 10.6.8 Server VM.
Перед виконанням sudo rm *
кореневої папки виглядає ось так - включені невидимі файли, папки та символьні посилання - з ls -la
:
drwxrwxr-t 32 root admin 1156 25 Dez 11:55 .
drwxrwxr-t 32 root admin 1156 25 Dez 11:55 ..
-rw-rw-r-- 1 root admin 15364 4 Jan 14:35 .DS_Store
drwx------ 3 root admin 102 10 Sep 01:37 .Spotlight-V100
d-wx-wx-wt 2 root staff 68 10 Sep 01:23 .Trashes
---------- 1 root admin 0 23 Jun 2009 .file
drwx------ 38 root admin 1292 4 Jan 14:59 .fseventsd
-rw------- 1 root wheel 4096 10 Sep 01:29 .hotfiles.btree
drwxr-xr-x@ 2 root wheel 68 18 Mai 2009 .vol
drwxrwxr-x+ 35 root admin 1190 25 Dez 16:49 Applications
drwxrwxr-x@ 16 root admin 544 25 Dez 12:04 Developer
drwxrwxr-t+ 2 root admin 68 10 Sep 01:37 Groups
drwxrwxr-t+ 65 root admin 2210 25 Dez 12:02 Library
drwxr-xr-x@ 3 root wheel 102 26 Feb 20:43 Network
drwxr-xr-x 4 root wheel 136 10 Sep 01:28 Shared Items
drwxr-xr-x 4 root wheel 136 10 Sep 02:02 System
drwxr-xr-x+ 5 root admin 170 10 Sep 01:37 Users
drwxrwxrwt@ 4 root admin 136 26 Feb 20:43 Volumes
drwxr-xr-x@ 39 root wheel 1326 10 Sep 02:09 bin
drwxrwxr-t@ 2 root admin 68 23 Jun 2009 cores
dr-xr-xr-x 3 root wheel 4013 26 Feb 20:43 dev
lrwxr-xr-x@ 1 root wheel 11 10 Sep 01:26 etc -> private/etc
dr-xr-xr-x 2 root wheel 1 26 Feb 20:43 home
-rw-r--r--@ 1 root wheel 20828964 8 Jun 2011 mach_kernel
dr-xr-xr-x 2 root wheel 1 26 Feb 20:43 net
drwxr-xr-x@ 6 root wheel 204 10 Sep 01:28 private
drwxr-xr-x@ 68 root wheel 2312 10 Sep 02:09 sbin
lrwxr-xr-x@ 1 root wheel 11 10 Sep 01:26 tmp -> private/tmp
drwxr-xr-x@ 14 root wheel 476 25 Dez 11:57 usr
lrwxr-xr-x@ 1 root wheel 11 10 Sep 01:26 var -> private/var
Після виконання sudo rm *
лише одного файла і символьні посилання зникли:
drwxrwxr-t 28 root admin 1020 26 Feb 19:41 .
drwxrwxr-t 28 root admin 1020 26 Feb 19:41 ..
-rw-rw-r-- 1 root admin 21508 26 Feb 19:41 .DS_Store
drwx------ 3 root admin 102 9 Sep 23:37 .Spotlight-V100
d-wx-wx-wt 2 root 20 68 9 Sep 23:23 .Trashes
---------- 1 root admin 0 23 Jun 2009 .file
drwx------ 38 root admin 1292 4 Jan 13:59 .fseventsd
-rw------- 1 root wheel 4096 9 Sep 23:29 .hotfiles.btree
drwxr-xr-x@ 2 root wheel 68 18 Mai 2009 .vol
drwxrwxr-x+ 35 root admin 1190 25 Dez 15:49 Applications
drwxrwxr-x@ 16 root admin 544 25 Dez 11:04 Developer
drwxrwxr-t+ 2 root admin 68 9 Sep 23:37 Groups
drwxrwxr-t+ 65 root admin 2210 25 Dez 11:02 Library
drwxr-xr-x@ 3 root wheel 102 26 Feb 19:39 Network
drwxr-xr-x 4 root wheel 136 9 Sep 23:28 Shared Items
drwxr-xr-x 4 root wheel 136 10 Sep 00:02 System
drwxr-xr-x+ 5 root admin 170 9 Sep 23:37 Users
drwxrwxrwt@ 4 root admin 136 26 Feb 19:39 Volumes
drwxr-xr-x@ 39 root wheel 1326 10 Sep 00:09 bin
drwxrwxr-t@ 2 root admin 68 23 Jun 2009 cores
dr-xr-xr-x 3 root wheel 4013 26 Feb 19:39 dev
dr-xr-xr-x 2 root wheel 1 26 Feb 19:39 home
dr-xr-xr-x 2 root wheel 1 26 Feb 19:39 net
drwxr-xr-x@ 6 root wheel 204 9 Sep 23:28 private
drwxr-xr-x@ 68 root wheel 2312 10 Sep 00:09 sbin
drwxr-xr-x@ 14 root wheel 476 25 Dez 10:57 usr
За допомогою нестандартної установки також будуть видалені всі інші файли та символьні посилання в кореневій папці (якщо такі взагалі існують). Усі нестандартні папки (наприклад, / opt) виживають.
Якщо ви не видалили файл ядра (що малоймовірно), спробуйте перейти в режим єдиного користувача та відновіть три видалені сім-посилання з ln -s /.../folder /folder
(наприклад ln -s /private/etc /etc
)
Якщо у вас є резервна копія та видалений файл ядра, спробуйте відновити файл mach_kernel, символьні посилання, папку з іменем вашого адміністратора в ../sudo/ та файл відсутнього стану. Для відновлення цих файлів із резервної копії вам потрібен завантажувальний жорсткий диск / палець накопичувача.
Якщо у вас немає резервної копії, спробуйте скопіювати файл mach_kernel з іншого Mac з тією ж системою (наприклад, 10.6.8). Відтворити символьні посилання. Можливо, вам доведеться скорегувати право власності та дозволи (див. Перелік).
"mach_kernel" також доступний у Mac OS X Combo Update 10.6.8 та, ймовірно, у інших комбінованих оновленнях, таких як Mac OS X Combo Update 10.6.6 та Mac OS X Combo Update 10.6.7. Таким чином, також має працювати оновлення пошкодженої системи за допомогою комбінованого оновлення із зовнішнього завантажувального накопичувача або приєднаного в режимі цільового диска до іншого Mac.
Після відновлення файлу ядра та символьних посилань ви можете перейти в режим суперкористувача та ввести mount -o rw,remount /
та створити відсутню папку в / private / var / db / sudo / with mkdir /private/var/db/sudo/adminname
. Файл .state відновлюється.
Якщо ви стратили, sudo rm -dR *
ви приречені без належного резервного копіювання. Моя система згодом була незавантажена, але дивовижно було видалено лише ~ 524 Мб 9860 МБ після підтвердження переопределення для '/System/Library/CoreServices/boot.efi' та '/ dev / fd / 4'.
У другій спробі я отримав 8445 Мб із 9860 Мб, видалених за допомогою sudo rm -dR *
. Перша спроба, можливо, також була відновлена за допомогою Combo Update, а примхливих залишків другої спроби, безумовно, немає.