linux异常一:feng 不在 sudoers 文件中,此事将被报告。yum提示Another app is currently holding the yum lock; waiting for

简介: 这篇文章介绍了在CentOS 7系统中安装Docker时遇到的两个常见问题及其解决方法:用户不在sudoers文件中导致权限不足,以及yum被锁定的问题。

前言

在VMware上刚安装完的centos7系统,想安装docker,进行部署项目的,突然发现给我报错了,查了一下资料,是权限的问题,以前没有遇到过,现在来记录下。

连着报了两个错误,在这儿总结下:

  • bug1:feng 不在 sudoers 文件中,此事将被报告。
  • bug2:/var/run/yum.pid 已被锁定,PID 为 14364 的另一个程序正在运行。 Another app is currently holding the yum lock; waiting for it to exit...

一、问题一

1. 问题叙述

使用命令 yum install -y docker安装docker时报错,如下。
feng 为我的本地用户。
报错信息:feng 不在 sudoers 文件中,此事将被报告。
在这里插入图片描述

2. 问题原因

因为当前操作用户的权限不足,而root用户只有在权限分配及系统设置时才会使用,而root用户的密码也不可能公开。
普通用户执行到系统程序时,需要临时提升权限,sudo就是我们常用的命令,仅需要输入当前用户密码,便可以完成权限的临时提升。

3. 问题解决

  1. 切换到root用户权限,输入如下命令,回车后输入密码再回车
su root
  1. 查看/etc/sudoers文件权限,如果只读权限,修改为可写权限
ls -l /etc/sudoers

在这里插入图片描述

  1. 输入修改权限命令:
chmod 777 /etc/sudoers
or
chmod u+w /etc/sudoers

可以再次查看文件权限:“ll /etc/sudoers”

ll /etc/sudoers

在这里插入图片描述
4. 执行vim命令,编辑/etc/sudoers文件,添加要提升权限的用户;在文件中找到root ALL=(ALL) ALL,在该行下添加提升权限的用户信息,如:
在这里插入图片描述
5. 保存退出,并恢复/etc/sudoers的访问权限为440,执行如下恢复命令:

chmod 440 /etc/sudoers

并查看该文件权限如下
在这里插入图片描述
6. 切换到普通用户feng。并继续下载即可。

二、问题二

1. 问题叙述

上面第一个问题解决后,再次使用yum 命令去安装docker时,又报错了,报错内容和截图如下:

/var/run/yum.pid 已被锁定,PID 为 14364 的另一个程序正在运行。 Another app is currently holding the yum lock; waiting for it to exit...

在这里插入图片描述

2. 问题原因

可能是系统自动升级正在运行,yum在锁定状态中。
已经有一个yum进程在运行了,使用kill干掉它:

3. 问题解决

# kill -s 9 14364
# ps aux|grep yum
root      6744  0.0  0.0 103260   900 pts/1    S+   14:59   0:00 grep yum
root     14364  0.0  0.0      0     0 ?        Z    Sep19   0:01 [yumBackend.py] <defunct>

如果 kill 命令 对付不了它,那怎么办呢?

可以通过强制关掉yum进程:

rm -f /var/run/yum.pid

然后就可以使用yum了。
然后就正常使用安装啦。
在这里插入图片描述

相关文章
|
2月前
|
资源调度 JavaScript Linux
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
|
7天前
|
缓存 前端开发 Linux
Linux yum 命令
10月更文挑战第1天
21 2
|
20天前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】
|
6天前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
2月前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
|
2月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
2月前
|
JSON Linux 网络安全
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
【Azure 应用服务】如何从App Service for Linux 的环境中下载Container中非Home目录下的文件呢?
|
2月前
|
存储 Linux 网络安全
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
【Azure App Service】.NET代码实验App Service应用中获取TLS/SSL 证书 (App Service Linux/Linux Container)
|
2月前
|
JavaScript Linux
【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect locale information provided
【Azure App Service for Linux】NodeJS镜像应用启动失败,遇见 RangeError: Incorrect locale information provided
|
2月前
|
Kubernetes Linux Docker
【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误
【Azure 应用服务】使用Docker Compose创建App Service遇见"Linux Version is too long. It cannot be more than 4000 characters"错误