Ⅰ linux中誤刪除libselinux恢復方法
Linux中誤刪除libselinux恢復方法
操作環境:CentOS7.5
背景:安裝openssl-devel時報錯:
Error: Protected multilib versions: libselinux-2.5-12.1.el7.x86_64 != libselinux-2.5-14.1.el7.x86_64卸載了libselinux-2.5-14.1.el7.x86_64導致伺服器故障。 rpm -e --nodeps libselinux-2.5-14.1.el7.x86_64
執行命令報:
修復方法:需要拷貝一個libselinux.so.1文件到/lib64/目錄下
一、不關機修復
1、在故障伺服器啟動一個rsync
2、在另一台CentOS7.5伺服器啟動一個客戶端。
3、在故障伺服器把客戶端拷貝過來的文件在拷貝到/lib64/
二、關機修復
說明:伺服器沒有安裝rsync,需要掛在系統版本鏡像,重啟伺服器進入救援模式。
1、進入救援模式的方法,如圖選擇Troubleshooting,在選擇rescue a CentOS system,輸入1獲得一個有讀寫許可權的shell。
2、重新掛載下系統為讀寫許可權
3、輸入ls /lib64/libc.so.6命令查看是否有該文件(因為是光碟自帶的系統,並沒有掛載在根目錄下,所以該文件沒有被刪除)
4、找到了所需要的文件,只需要把該文件復制到丟失文件的系統里就可以(系統被掛載到了/mnt/sysimage目錄中)
cp /lib64/libc.so.6 /mnt/sysimage/lib64(把文件復制到丟失的文件系統里)
5、重啟伺服器恢復正常。
6、進入救援模式遇到報錯情況處理:
進入以下界面時報:
the rescue environment will now attempt to find your linux installation and mount it under the directory : /mnt/sysimage. you can then make any changes you can choose to mount your file systems read-only instead of read-write by choosing 2 if for some reason this process does not work chroot 2
時不能選擇1以讀寫的許可權進入系統,只能選擇2以只讀的模式進入到系統。
重新掛載一個除了系統版本外的ISO鏡像,在進入到救援模式後,選擇1以讀寫的方式進入系統,拷貝libselinux.so.1文件到lib64目錄下,在重新掛載系統本身版本ISO後就可以選擇1以讀寫的模式進入系統重新拷貝libselinux.so.1文件。
7、重啟進入系統時報:
解決方法:
1、系統啟動的時候,按下『e』鍵進入grub編輯界面,編輯grub菜單,選擇「kernel /vmlinuz-XXXXro root=/dev/vogroup00/logvol00 rhgb quiet」 一欄,按『e』鍵進入編輯,在末尾增加enforcing=0,即:
kernel /vmlinuz-XXXXro root=/dev/vogroup00/logvol00 rhgb quiet enforcing=0(其中enforcing=0是需要加上去的,其他不動)
按『b』鍵繼續引導,正常進入系統。
2、如果系統啟動按e不能進入到grub界面,那就是libselinux.so.1文件不兼容導致伺服器不能啟動上來,需要重新進入救援模式把/mnt/sysimage/lib64/libselinux.so.1刪除後重新拷貝一個文件進入重啟伺服器,正常進入系統。
Ⅱ linux系統ext4文件系統rm刪除的文件怎麼恢復
系統:Oracle Linux OEL6.5 x64
分區格式:ext4
起因:今天手賤在自己伺服器上誤操作將/home/ORACLE目錄給刪除了,結果導致服務全面崩潰
遂谷歌了一把發現了神器 extundelete(如果是ext3文件系統請使用ext3grep,本人未做測試),這玩意可比瘟得死下面的各種恢復工具強大多了(至少本人是這么認為的)。
關於extundelete這個工具的說明使用,官方網站extundelete.sourceforge.net是這樣說的,extundelete是一種實用的工具,可以從ext3或ext4分區恢復被刪除的文件,不能保證恢復所有的文件,所以最好能做好備份.它的最新版本是0.2.4
為什麼要用extundelete?
官方這樣描述,如果您已經在ext4的文件系統中刪除了文件,選extundelete是一個不錯的選擇,它能夠恢復已刪除文件的文件名及內容.如果是在ext3的文件系統中刪除了文件,extundelete和ext3grep比較仍然有一些優點,extundelete分析日誌文件後,能夠立即恢復一個文件,ext3grep分析整個硬碟才開始恢復硬碟中的文件,ext3grep方法是是有效的從一個小分區恢復多個文件,所以相比而言,如果需要從一個大的分區中恢復文件,extundelete要快些.
注意:在安裝extundelete之前,要確定已經安裝了e2fsprogs和e2fslibs(確定e2fsprogs的版本在1.41或者更高版本,可通過運行命令mpe2fs來查看版本).
一、下載及安裝軟體
extundelete 主頁:http://extundelete.sourceforge.net/
下載地址:http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 (需 跨牆)
ubuntu用戶可直接安裝: apt-get install extundelete
# wget http://nchc.dl.sourceforge.NET/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
# tar -jxvf extundelete-0.2.4.tar.bz2
# cd extundelete-0.2.4
# ./configure --prefix=/usr/local/extundelete
# make && make install
extundelete --help 查看有哪些選項 --restore-file 指定恢復文件, --restore-all 恢復全部等等,恢復完成後,恢復的文件就在當前目錄下生成的RECOVERED_FILES的目錄里.
實測:rm -rf /home/oracle
[plain] view plain
[root@rac1 extundelete-0.2.4]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4 50G 19G 29G 40% /
tmpfs tmpfs 998M 80K 998M 1% /dev/shm
/dev/sda1 ext4 477M 55M 397M 13% /boot
/dev/mapper/VolGroup-lv_home ext4 28G 44M 26G 1% /home
二、數據恢復
1.卸載需要恢復文件的分區
[root@rac1 extundelete-0.2.4]# fuser -k ?home <-- 結束使用某分區的進程樹
[root@rac1 extundelete-0.2.4]# umount /home <-- 卸載分區
2.使用extundelete查看分區上存在的文件
[plain] view plain
[root@rac1 extundelete-0.2.4]# extundelete --inode 2 /dev/mapper/VolGroup-lv_home <div class="crayon-pre" style="box-sizing: border-box; padding: 0px; margin: 0px; white-space: pre; overflow: visible; font-family: monospace !important; background-image: none !important; border: none !important; color: rgb(255, 255, 255) !important; font-size: 15px !important; line-height: 20px !important;"><div class="crayon-line" id="crayon-53febd9362e4c249413479-1" style="box-sizing: border-box; font-family: inherit; border: 0px; padding: 0px 5px; margin: 0px; height: inherit; font-size: inherit !important; line-height: inherit !important; background-position: 0px 50%;"><span class="crayon-c" style="box-sizing: border-box; font-family: inherit; height: inherit; font-size: inherit !important; line-height: inherit !important; color: rgb(255, 140, 0) !important;"> # --inode 為查找某i節點中的內容,使用2則說明為搜索,如果需要進入目錄搜索,只須要指定目錄I節點即可</span></div></div>NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 221 groups loaded.
Group: 0
Contents of inode 2:
0000 | ed 41 00 00 00 10 00 00 74 85 fe 53 72 85 fe 53 | .A......t..Sr..S
0010 | 72 85 fe 53 00 00 00 00 00 00 03 00 08 00 00 00 | r..S............
0020 | 00 00 08 00 02 00 00 00 0a f3 01 00 04 00 00 00 | ................
0030 | 00 00 00 00 00 00 00 00 01 00 00 00 11 24 00 00 | .............$..
0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
0080 | 1c 00 00 00 cc 8f 32 d4 cc 8f 32 d4 1c 8c d6 9d | ......2...2.....
0090 | d1 21 ea 53 00 00 00 00 00 00 00 00 00 00 02 ea | .!.S............
00a0 | 07 06 3c 00 00 00 00 00 21 00 00 00 00 00 00 00 | ..<.....!.......
00b0 | 73 65 6c 69 6e 75 78 00 00 00 00 00 00 00 00 00 | selinux.........
00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................
00d0 | 00 00 00 00 00 00 00 00 00 00 00 00 73 79 73 74 | ............syst
00e0 | 65 6d 5f 75 3a 6f 62 6a 65 63 74 5f 72 3a 68 6f | em_u:object_r:ho
00f0 | 6d 65 5f 72 6f 6f 74 5f 74 3a 73 30 00 00 00 00 | me_root_t:s0....
Inode is Allocated
File mode: 16877
Low 16 bits of Owner Uid: 0
Size in bytes: 4096
Access time: 1409189236
Creation time: 1409189234
Modification time: 1409189234
Deletion Time: 0
Low 16 bits of Group Id: 0
Links count: 3
Blocks count: 8
File flags: 524288
File version (for NFS): 0
File ACL: 0
Directory ACL: 0
Fragment address: 0
Direct blocks: 127754, 4, 0, 0, 1, 9233, 0, 0, 0, 0, 0, 0
Indirect block: 0
Double indirect block: 0
Triple indirect block: 0
File name | Inode number | Deleted status
. 2
.. 2
lost+found 11
oracle 523265 Deleted
被刪除的oracle文件夾已經被找到,狀態為已經刪除,接下來就將它們恢復出來。
[root@rac1
Desktop]# extundelete --restore-all /dev/mapper/VolGroup-lv_home # --restore-all是全部恢復 ,默認全將恢復出來的文件放在當前路徑 RECOVERED_FILES/ 目錄下,文件名為 file.I節點號
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 221 groups loaded.
Loading journal descriptors ... 3108 descriptors loaded.
Searching for recoverable inodes in directory / ...
3576 recoverable inodes found.
Looking through the directory structure for deleted files ...
0 recoverable inodes still lost.
[root@rac1 Desktop]# ls RECOVERED_FILES/
lost+found oracle
[root@rac1 Desktop]# mount /home
[root@rac1 Desktop]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4 50G 21G 26G 45% /
tmpfs tmpfs 998M 80K 998M 1% /dev/shm
/dev/sda1 ext4 477M 55M 397M 13% /boot
/dev/mapper/VolGroup-lv_home ext4 28G 44M 26G 1% /home
[root@rac1 Desktop]# mv RECOVERED_FILES/oracle /home
[root@rac1
Desktop]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root ext4 50G 19G 29G 40% /
tmpfs tmpfs 998M 80K 998M 1% /dev/shm
/dev/sda1 ext4 477M 55M 397M 13% /boot
/dev/mapper/VolGroup-lv_home ext4 28G 2.6G 24G 10% /home
至此2.6G的數據恢復完畢。
恢復之後,許可權不一致的,別忘了授權。
[root@rac1
~]# chmod -R 777 /home/oracle
驗證數據是否可用:
[root@rac1
home]# su oracle
[oracle@rac1 home]$ db11g
SQL*Plus:
Release 11.2.0.3.0 Proction on Thu Aug 28 14:09:49 2014
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> 搞定!
Ⅲ Linux伺服器下誤刪除文件的解決方法
伺服器誤刪了/usr/bin和/usr/sbin目錄,然後,從別的地方拷貝這兩個目錄過來,發現可能很多是鏈接等非普通文件,可拷貝的時候對鏈接的處理不知道應加什麼參數,所以,一百多兆的東西拷貝了近一個G;最後,先給tar了一下,在拷貝。
這樣,伺服器基本弄好,建議:
1.不要直接用root登入,特別是不熟悉的人。
2.建議需要執行root許可權命令的使用sudo,少用su;
3.可用visudo來配置需要執行的root許可權命令
eg: xxx ALL=/sbin/mount,/sbin/unmount,/sbin/ifconfig NOPASSWD: ALL
rm命令不行;但是,還有「後遺症」:
1.登入時,'linux': unknown terminal type;
2.使用top, clear (知道的)時, 因為 terminal type問題;
3.vim也是類似問題,不可操作;已解決,但只能用基本模式;
4.tftp、telnet服務,已解決。
Ⅳ Linux伺服器KVM虛擬機刪除如何恢復
找到新建時指定的虛擬機文件存放位置(如果忘記的話虛擬機主界面就有 ),將其整個文件夾(含有該虛擬系統的BIOS文件、虛擬磁碟文件)刪除即可。