Linux/Debian 中的 mon 安装

Linux/Debian 中的 mon 安装

嗨,我正在使用命令在 Debian/Linux 中安装 mon,apt-get install mon 但它显示错误并中止安装。错误是

apt-get install mon

Reading package lists... Done
Building dependency tree  
Reading state information... Done

The following NEW packages will be installed:
  mon
0 upgraded, 1 newly installed, 0 to remove and 109 not upgraded.
Need to get 0B/179kB of archives.
After this operation, 741kB of additional disk space will be used.

(Reading database ... 106004 files and directories currently installed.)
Unpacking mon (from .../mon_0.99.2-13_i386.deb) ...
Looking for user name availability (mon)... already taken.

Installation aborted!


dpkg: error processing /var/cache/apt/archives/mon_0.99.2-13_i386.deb (--unpack):
subprocess pre-installation script returned error exit status 1

Errors were encountered while processing:

 /var/cache/apt/archives/mon_0.99.2-13_i386.deb

E: Sub-process /usr/bin/dpkg returned an error code (1)

答案1

正在查找用户名的可用性 (mon)...已被占用。

程序mon以专用系统用户(也称为 )的身份运行mon。安装程序尝试创建此系统用户,但您的系统上已有同名用户。

如果您可以删除或重命名现有mon用户(以及组,如果您有的话),这将允许您安装该mon软件包。否则,您必须选择不同的名称来运行该mon程序,这需要修改并重新编译源软件包。


编辑:以下是如何将现有mon用户重命名为(选择一个更好的名称),至少是最简单的部分。我假设这是一个本地用户,而不是 NIS 或 LDAP 用户(否则解决方案会非常不同)。如果某些命令针对不存在的文件,则跳过它们newname即可。mv

usermod -l newname mon
groupmod -n newname mon
mv /var/spool/cron/crontabs/mon /var/spool/cron/crontabs/newname
mv /var/spool/main/mon /var/spool/main/newname

困难的部分是找到系统中对旧mon用户名的任何引用。对此没有硬性规定,这在很大程度上取决于该用户所做的事情。

相关内容