A seconda della configurazione del sistema e del comando, probabilmente hai perso solo alcuni file, incluso uno essenziale, e cartelle e alcuni collegamenti simbolici.
L'uso del comando rm *
- eseguito da un amministratore nella cartella principale - elimina di solito solo il collegamento simbolico / etc:
- Avvia in modalità utente singolo, controlla il tuo file system con
/sbin/fsck -fy
e monta root / scrivibile con root /sbin/mount -rw /
. Quindi ricrea il sym-link / etc con ln -s /private/etc /etc
e riavvia il tuo Mac con shutdown -r now
.
Usando il comando sudo rm *
- eseguito da un sudoer nella cartella principale - in una configurazione standard perderai solo il file 'mach_kernel' e i collegamenti simbolici 'etc', 'tmp' e 'var'.
(Nessun altro file è stato eliminato nel file system) . Dopo ulteriori indagini si scopre che anche alcuni altri file e cartelle vengono eliminati spesso: una cartella con il nome di un sudoer (di solito il nome breve dell'account admin) in / private / var / db / sudo / e un file .state con un nome arbitrario (il UID generato dell'account admin / sudoer) relativo a un altro file con lo stesso nome in / private / var / db / shadow / hash /. Non riesco a determinare se vengono eliminati da 'sudo', 'rm' o 'sudo rm'. Questi file e cartelle sono tuttavia di minore importanza.
L'ho testato su una VM Server Mac OS X 10.6.8 quasi vaniglia.
Prima di eseguire sudo rm *
la cartella principale appare così - file invisibili, cartelle e collegamenti simbolici inclusi - con 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
Dopo aver eseguito sudo rm *
solo un file e i collegamenti simbolici sono scomparsi:
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
Utilizzando un'impostazione non standard verranno eliminati anche tutti gli altri file e collegamenti simbolici nella cartella principale (se presenti). Tutte le cartelle non standard (ad es. / Opt) sopravvivono.
Se non hai eliminato il file del kernel (il che è improbabile), prova ad avviare in modalità utente singolo e ricostruisci i tre collegamenti simbolici eliminati con ln -s /.../folder /folder
(es. ln -s /private/etc /etc
)
Se si dispone di un backup e si è eliminato il file del kernel, provare a ripristinare il file mach_kernel, i collegamenti simbolici, la cartella con il nome utente amministratore in ../sudo/ e il file di stato mancante. È necessario un disco rigido / chiavetta di avvio per ripristinare quei file dal backup.
Se non si dispone di un backup, provare a copiare il file mach_kernel da un altro Mac con lo stesso sistema (ad es. 10.6.8). Ricrea i link simbolici. Probabilmente devi regolare la proprietà e le autorizzazioni (vedi elenco).
"mach_kernel" è disponibile anche nell'aggiornamento combinato 10.6.8 di Mac OS X e probabilmente in altri aggiornamenti combinati come l'aggiornamento combinato 10.6.6 di Mac OS X e l'aggiornamento combinato 10.6.7 di Mac OS X. Pertanto, anche l'aggiornamento del sistema danneggiato con l'aggiornamento combinato da una chiavetta di avvio esterna o collegato in modalità disco di destinazione a un altro Mac dovrebbe funzionare.
Dopo aver ripristinato il file del kernel e i collegamenti simbolici, è possibile avviare la modalità super utente e immettere mount -o rw,remount /
e creare la cartella mancante in / private / var / db / sudo / with mkdir /private/var/db/sudo/adminname
. Il file .state mancante si ricostruisce da solo.
Se hai eseguito, sudo rm -dR *
sei condannato senza un backup adeguato. Il mio sistema non è stato avviato in seguito, ma in modo sorprendente solo ~ 524 MB di 9860 MB sono stati eliminati dopo le conferme di override per '/System/Library/CoreServices/boot.efi' e '/ dev / fd / 4'.
In un secondo tentativo ho ottenuto 8445 MB di 9860 MB eliminati utilizzando sudo rm -dR *
. Il primo tentativo potrebbe anche essere stato recuperato con l'aggiornamento combinato, i resti wimpy del secondo tentativo sicuramente non lo sono.