当我尝试安装 OpenVPN 时,“E:子进程 /usr/bin/dpkg 返回错误代码 (1)”。这是什么?

当我尝试安装 OpenVPN 时,“E:子进程 /usr/bin/dpkg 返回错误代码 (1)”。这是什么?

每当我尝试在我的 Debian x86 Minimal VPS 上安装 OpenVPN 时,我都会收到该错误。如果有帮助的话,这是完整的代码:

root@fadvps:/# sudo apt-get install openvpn
Reading package lists... Done
Building dependency tree       
Reading state information... Done
openvpn is already the newest version.
The following packages were automatically installed and are no longer required:
  gconf-service gconf2 gconf2-common libasound2-dev libavahi-client-dev libavahi-common-dev libcaca-dev libdbus-1-dev libdbus-glib-1-2
  libdirectfb-extra libelfg0 libevent-2.0-5 libgconf-2-4 libgd2-xpm libglib2.0-bin libglib2.0-dev libicu48 libjbig-dev libjpeg8-dev libnatpmp1
  libpcre3-dev libpcrecpp0 libpng12-dev libpthread-stubs0 libpthread-stubs0-dev libpulse-dev libpulse-mainloop-glib0 libslang2-dev
  libtiff4-dev libtiffxx0c2 libts-dev libva-egl1 libva-glx1 libva-tpi1 libva-x11-1 libvdpau1 libwebp-dev libx11-doc libxau-dev libxcb1-dev
  libxdmcp-dev postgresql-common ssl-cert transmission-common transmission-gtk x11proto-core-dev x11proto-fixes-dev x11proto-input-dev
  x11proto-kb-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 368 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
Setting up fuse (2.9.3-15) ...
Creating fuse device...
/run/udev or .udevdb or .udev presence implies active udev.  Aborting MAKEDEV invocation.
chmod: cannot access `/dev/fuse': No such file or directory
dpkg: error processing fuse (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 fuse
E: Sub-process /usr/bin/dpkg returned an error code (1)

是什么导致了这些错误?

答案1

您的 VPS 可能正在虚拟化容器内运行,该容器与主机共享内核,并且不允许使用 FUSE;这意味着该fuse模块不存在,这又是为什么udev无法创建/dev/fuse.看一下modinfo fuseor Even的输出lsmod。我希望不存在任何模块,因为它们是由主机管理的。

因此,如果您确实需要 FUSE,则必须(要求您的提供商)为您的容器启用它。

然而,我不知道 OpenVPN 使用 FUSE 的用途,所以我希望openvpn已经正确安装。

要消除错误(每个包都会弹出该错误),只需apt-get remove fuse(无论导致它作为依赖项安装的原因是什么,在启用它之前都不会起作用)。

哈,dtk

答案2

第一组消息表明您尚未安装任何语言环境。这只是一个警告,您应该能够使用 来修复apt-get install locales

实际错误出现在“创建熔丝设备”之后。要填充/dev/目录,有两种方法。现代系统用于udev在设备来来去去时动态添加设备,而旧系统用于MAKEDEV静态创建一大堆设备。

在您的情况下,MAKEDEV 被调用并检测到 udev 的痕迹,因此没有创建任何设备文件。

以下命令需要一些不存在的设备文件。

要解决此问题,请检查您的 udev 守护进程发生了什么。也许重新安装 udev 可能会更好。也许只需重新启动您的盒子就足够了。

/dev/fuse如果 udev 确实在运行,则由于某种原因它没有创建。也许您需要使用 手动加载正确的内核模块modprobe fuse

答案3

创建目录/dev/fuse

mkdir /dev/fuse

运行该命令后再次尝试安装

相关内容