![Linux/Debian 中的 mon 安装](https://linux22.com/image/1246019/Linux%2FDebian%20%E4%B8%AD%E7%9A%84%20mon%20%E5%AE%89%E8%A3%85.png)
嗨,我正在使用命令在 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
用户名的任何引用。对此没有硬性规定,这在很大程度上取决于该用户所做的事情。