[TOC]
主要记录工作和学习中遇到的一些问题;
Q:挂载的目录进行卸载挂载繁忙,如:umount: /var: device is busy
A:解决方法
[TOC]
主要记录工作和学习中遇到的一些问题;
Q:挂载的目录进行卸载挂载繁忙,如:umount: /var: device is busy
A:解决方法
[TOC]
主要记录工作和学习中遇到的一些问题;
Q:挂载的目录进行卸载挂载繁忙,如:umount: /var: device is busy
A:解决方法1
2
3
4
5
6
7
8
9
10
11fuser -m -v /dev/mapper/vg_zabbix-LogVol02
fuser -m –k /dev/mapper/vg_zabbix-LogVol02
#注:上面是使用kill直接杀掉挂载点上面的进程,建议使用daemon的方式停掉进程。
/etc/init.d/rsyslog stop
fuser -m -v /dev/mapper/vg_zabbix-LogVol02
#停止上面显示的守护进程
[root@zabbix ~]# /etc/init.d/crond stop
root@zabbix ~]# /etc/init.d/auditd stop
#重新卸载
umount /dev/mapper/vg_zabbix-LogVol02
Q: CentOs6.x误卸载自带python和yum后的解决办法
A:解决方法:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46Step1. 卸载python(以免有些同学没有卸载干净)
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps #强制删除已安装程序及其关联
whereis python|xargs rm -frv #删除所有残余文件 #xargs,允许你对输出执行其他某些命令
Step2. 卸载yum
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps
rm -rf /etc/yum.repos.d/*
whereis yum|xargs rm -frv<br>
step3. 验证是否删除干净
whereis python
whereis yum
Step4.重新安装python和yum
#在以下链接的镜像站中找到你系统对应版本的python rpm包,选择系统对应的位数,32位选i386,64位选择x86_64,进入Packages文件夹
http://vault.centos.org/
#进去之后你会看到很多rpm文件,下载如下文件:
python-2.6.6-66.el6_8.x86_64.rpm
python-devel-2.6.6-66.el6_8.x86_64.rpm
python-iniparse-0.3.1-2.1.el6.noarch.rpm
python-libs-2.6.6-66.el6_8.x86_64.rpm
python-pycurl-7.19.0-9.el6.x86_64.rpm
python-urlgrabber-3.9.1-11.el6.noarch.rpm
rpm-python-4.8.0-55.el6.x86_64.rpm
yum-3.2.29-81.el6.centos.noarch.rpm
yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
yum-plugin-fastestmirror-1.1.30-40.el6.noarch.rpm
Step5.登录服务器,在你喜欢的地方建一个python文件夹,这里我local的src下
mkdir /usr/local/src/python
cd /usr/local/src/python
rz -be #出现弹框,上传文件
Step6.#这里建议先安装 python-*的文件,再安装rpm-python-*的文件,最后安装yum-*的文件
rpm -ivh python-*
rpm -ivh rpm-python-*
rpm -ivh yum-*
#这里博主没有用rpm -ivh python-*命令安装是怕以防万一会漏掉,所以还是乖乖的输入全名安装,安装yum的时候同理
#rpm -ivh python-2.6.6-66.el6_8.x86_64.rpm python-devel-2.6.6-66.el6_8.x86_64.rpm python-iniparse-0.3.1-2.1.el6.noarch.rpm python-libs-2.6.6-66.el6_8.x86_64.rpm python-pycurl-7.19.0-9.el6.x86_64.rpm python-urlgrabber-3.9.1-11.el6.noarch.rpm
Step7.测试安装,测试有版本信息就成功了
yum --version
python -V
注意事项:
(1) 一定要选对应自己系统版本的文件,
(2) 当安装依赖包错误的时候进行一起安装即可(不知道谁与谁有依赖关系,就都一起安装就好了,亲测有效))
1 | #安装相应的依赖 |
1 | #在centos7系统下执行: |
恢复原理:
在Linux系统中,每个运行中的程序都有一个宿主进程彼此隔离,以/proc/进程号来体现(Linux本质上就是一个文件系统)
比如:ls -l /proc/13067 查看进程PID为13067的进程信息;当程序运行时操作系统会专门开辟一块内存区域,提供给当前进程使用,对于依赖的文件,操作系统会发放一个文件描述符,以便读写文件;
当我们执行 rm -f 删除文件时,其实只是删除了文件的目录索引节点,对于文件系统不可见,但是对于打开它的进程依然可见,即仍然可以使用先前发放的文件描述符读写文件,正是利用这样的原理,所以我们可以使用I/O重定向的方式来恢复文件。
执行步骤:1
2
3#1.使用lsof查看打开该文件进程
#2.再使用cat /proc/进程号/fd/文件描述符 查看恢复数据
#3.最后使用I/O重定向的方式来恢复文件
常见模拟:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20#1.误删除文件
> rm -f /root/selenium/Spider/MySql.Data.dll
> ll /root/selenium/Spider/MySql.Data.dll
ls: cannot access /root/selenium/Spider/MySql.Data.dll: No such file or directory
#2.恢复
yum install lsof -y #没有的请自行安装
(1)、使用lsof命令查看当前是否有进程打开/root/selenium/Spider/MySql.Data.dll文件:
> lsof | grep /root/selenium/Spider/MySql.Data.dll
root 86r REG 253,1 702464 141324 /root/selenium/Spider/MySql.Data.dll
(2)、查看是否存在恢复数据:
/proc/13067/fd:进程操作的文件描述符目录。
86:文件描述符。
> cat /proc/13067/fd/86
(3)、使用I/O重定向恢复文件
> cat /proc/23778/fd/86 > /root/selenium/Spider/MySql.Data.dll
> ls -l /root/selenium/Spider/MySql.Data.dll
-rw-r--r-- 1 root root 702464 Feb 10 12:03 /root/selenium/Spider/MySql.Data.dll
补充方法:1
2
3
4
5
6
7
8
9
10
11#找到删除的文件的进程PID
pid=25499
#获取进程映射地址
cat /proc/$pid/maps | awk '$6 !~ "^/" {split($1,addrs,"-"); print "dump memory mem_" addrs[1] "0x" addrs[1] " 0x" addrs[2] ;}END{print "quit"}' > gdb-commands
#dump地址中数据
gdb -p $pid -x gdb-commands
比如查找mysql参数信息, grep datadir ./mem_* 会显示所有包含datadir字符串二进制文件。
vim ./mem_7f18284af000 查找datadir如下,跟进程信息获取参数有部分重复
你好看友,欢迎关注博主微信公众号哟! ❤
这将是我持续更新文章的动力源泉,谢谢支持!(๑′ᴗ‵๑)
温馨提示: 未解锁的用户不能粘贴复制文章内容哟!
方式1.请访问本博主的B站【WeiyiGeek】首页关注UP主,
将自动随机获取解锁验证码。
Method 2.Please visit 【My Twitter】. There is an article verification code in the homepage.
方式3.扫一扫下方二维码,关注本站官方公众号
回复:验证码
将获取解锁(有效期7天)本站所有技术文章哟!
@WeiyiGeek - 为了能到远方,脚下的每一步都不能少
欢迎各位志同道合的朋友一起学习交流,如文章有误请在下方留下您宝贵的经验知识,个人邮箱地址【master#weiyigeek.top】
或者个人公众号【WeiyiGeek】
联系我。
更多文章来源于【WeiyiGeek Blog - 为了能到远方,脚下的每一步都不能少】, 个人首页地址( https://weiyigeek.top )
专栏书写不易,如果您觉得这个专栏还不错的,请给这篇专栏 【点个赞、投个币、收个藏、关个注、转个发、赞个助】,这将对我的肯定,我将持续整理发布更多优质原创文章!。
最后更新时间:
文章原始路径:_posts/系统运维/Linux/入坑容灾/Linux系统运维问题解决.md
转载注明出处,原文地址:https://blog.weiyigeek.top/2019/3-28-139.html
本站文章内容遵循 知识共享 署名 - 非商业性 - 相同方式共享 4.0 国际协议