

`rm -f ./*` を実行するつもりが `rm -f /*` としてしまって色々消してしまいました。

ls は

[code]

    -bash: /bin/ls: No such file or directory
    
[/code]

また yum も

[code]

    -bash: /usr/bin/yum: /usr/bin/python: bad interpreter: No such file or directory
    
[/code]

と出ます。大半のコマンドが使えず、wget などを実行するとこのようなエラーが出ます。

[code]

    -bash: /usr/bin/wget: /lib64/Id-linux-x86-64.so.2: bad ELF interpreter: No such file or directory
    
[/code]

OSはCentOS7です。

解決策として何が挙げられるのかご教授ください。

補足  
諦めて再インストールします。  
ただ自分は解決法知ってるよ、という方は是非過ちを犯してしまった別の方のために回答をよろしくおねがいします。


CC BY-SA 4.0
2016-05-08T07:19:37.790
24643
2020-08-02T07:54:14.933
2020-08-02T07:54:14.933
3060
15284
question
linux centos
誤って rm -f /* を実行し、いくつかのファイルが削除されてしまいました


CentOS7/64bitの場合、4種のシンボリックリンク `/lib64`, `/lib`, `/bin`, `/sbin`
が削除されていますので、それらを貼り直すことで復旧できますね。

[code]

    # /usr/lib64/ld-linux-x86-64.so.2 --library-path /usr/lib64 /usr/bin/ln -s /usr/lib64 /lib64
    # /usr/bin/ln -s /usr/bin /bin
    # ln -s /usr/lib /lib
    # ln -s /usr/sbin /sbin
    
[/code]

参考として、他ディストリビューションについて既出のものがありましたのでリンクを:

  * (Ubuntu)[data recovery - Accidentally executed sudo rm /* on a remote server - Unix & Linux Stack Exchange](https://unix.stackexchange.com/a/18370)
  * (Debian)[debian - Can I recover from "rm /*"? - Server Fault](https://serverfault.com/a/484513)

リンク先にある通り、Ubuntuではbusyboxが標準でインストールされているようなので、それを用いて回復できるようですね。

* * *

仮想環境のCentOS7/64bitで同様のコマンドを実行してみた結果が以下になります。

[code]

    [root@localhost /]# ls -l
    total 32
    lrwxrwxrwx.   1 root root    8 May  9 01:08 bin -> /usr/bin
    dr-xr-xr-x.   5 root root 4096 Apr  6 22:37 boot
    drwxr-xr-x.  20 root root 3160 May  9 01:03 dev
    drwxr-xr-x.  81 root root 8192 May  9 01:02 etc
    drwxr-xr-x.   3 root root   17 Aug 12  2015 home
    lrwxrwxrwx.   1 root root    8 May  9 01:08 lib -> /usr/lib
    lrwxrwxrwx.   1 root root   10 May  9 01:07 lib64 -> /usr/lib64
    drwxr-xr-x.   2 root root    6 Aug 12  2015 media
    drwxr-xr-x.   3 root root   18 Feb 13 19:28 mnt
    drwxr-xr-x.   4 root root   51 Apr  6 22:44 opt
    dr-xr-xr-x. 165 root root    0 May  9 01:02 proc
    dr-xr-x---.   3 root root 4096 May  9 01:03 root
    drwxr-xr-x.  24 root root  760 May  9 01:03 run
    lrwxrwxrwx.   1 root root    9 May  9 01:08 sbin -> /usr/sbin
    drwxr-xr-x.   2 root root    6 Aug 12  2015 srv
    dr-xr-xr-x.  13 root root    0 May  9 01:02 sys
    drwxrwxrwt.   8 root root 4096 May  9 01:03 tmp
    drwxr-xr-x.  13 root root 4096 Feb 13 16:29 usr
    drwxr-xr-x.  20 root root 4096 May  9 01:02 var
    
    
    [root@localhost /]# rm -fv /*
    removed '/bin'
    rm: cannot remove '/boot': Is a directory
    rm: cannot remove '/dev': Is a directory
    rm: cannot remove '/etc': Is a directory
    rm: cannot remove '/home': Is a directory
    removed '/lib'
    removed '/lib64'
    rm: cannot remove '/media': Is a directory
    rm: cannot remove '/mnt': Is a directory
    rm: cannot remove '/opt': Is a directory
    rm: cannot remove '/proc': Is a directory
    rm: cannot remove '/root': Is a directory
    rm: cannot remove '/run': Is a directory
    removed '/sbin'
    rm: cannot remove '/srv': Is a directory
    rm: cannot remove '/sys': Is a directory
    rm: cannot remove '/tmp': Is a directory
    rm: cannot remove '/usr': Is a directory
    rm: cannot remove '/var': Is a directory
    
[/code]


CC BY-SA 3.0
2016-05-08T16:27:20.933
24649
2016-05-09T02:26:35.747
2017-04-13T12:37:20.867
-1
2808
24643
answer