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了。
然后就正常使用安装啦。
在这里插入图片描述

相关文章
|
4月前
|
JavaScript Linux 数据中心
【Azure Function App】解决Function App For Container 遇见ServiceUnavailable的异常
【Azure Function App】解决Function App For Container 遇见ServiceUnavailable的异常
【Azure Function App】解决Function App For Container 遇见ServiceUnavailable的异常
|
4月前
|
应用服务中间件 Linux 网络安全
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
【Azure 应用服务】App Service for Linux 环境中为Tomcat页面修改默认的Azure 404页面
|
4月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
4月前
|
存储 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)
|
23天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
122 0
|
3月前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】
|
2月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
4月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
1059 0
在CentOS上使用yum安装与使用MySQL
|
4月前
|
Oracle Java 关系型数据库
yum安装指定版本的openJDK
yum安装指定版本的openJDK
|
4月前
|
Web App开发 缓存 Ubuntu
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
217 11