在NetBSD上屏幕失败,报告 "poll: Invalid argument"

问题描述 投票:0回答:1

我已经安装并使用了 screen 在几个不同的操作系统上安装了很多次。 最近,我在NetBSD-8.0虚拟机上安装了它。

$ sudo pkgin install screen
calculating dependencies...done.

1 package to install:
  screen-4.8.0nb1

0 to refresh, 0 to upgrade, 1 to install
0B to download, 1098K to install

proceed ? [Y/n] Y
installing screen-4.8.0nb1...
screen-4.8.0nb1: setting permissions on /usr/pkg/bin/screen-4.8.0 (o=root, g=wheel, m=4511)
screen-4.8.0nb1: adding /usr/pkg/bin/screen to /etc/shells
screen-4.8.0nb1: registering info file /usr/pkg/info/screen.info
===========================================================================
$NetBSD: MESSAGE,v 1.5 2005/12/28 17:53:24 reed Exp $
[snip]
===========================================================================
pkg_install warnings: 0, errors: 0
reading local summary...
processing local summary...
marking screen-4.8.0nb1 as non auto-removable

然而,当我去使用它的时候,却立即出现了故障。

$ uname -mrs
NetBSD 8.0 amd64
$ ls -l /usr/pkg/bin/screen
lrwxr-xr-x  1 root  wheel  12 Apr  6 02:50 /usr/pkg/bin/screen -> screen-4.8.0
$ groups
users wheel
$ screen
poll: Invalid argument

这个问题一直存在,即使我先删除,然后再重新安装 screen 包。 有什么建议,有什么问题吗?

gnu-screen netbsd
1个回答
1
投票

我的猜测是,8.0 的系统用来构建二进制包 (截止到 8.0_2020Q1 pkgsrc 发行版)已经与 NetBSD-8.0 版本不兼容了。它很可能是运行在一个较新的版本上, 在一个叫做 chroot(8) 沙箱。

我建议使用 NetBSD-9.0 代替,因为那是最新的NetBSD版本,或者用 NetBSD-8.2的最新版本,因为它是 netbsd-8 分支。使用最新的 NetBSD 和 pkgsrc 版本可以更好地覆盖未修补的漏洞。

然而, 如果你想继续使用 NetBSD-8.0,你可以得到一个工作的 屏风(1) 来自 8.0_2019Q4 pkgsrc发布。要有 pkgin(1) 从该版本中提取,编辑 /usr/pkg/etc/pkgin/repositories.conf 文件来使用这个仓库的 URL。

http://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/amd64/8.0_2019Q4/All

目前文件中可能只有一行没有被注释掉,它指向一个URL,上面只有 8.0 (在服务器上,它是一个指向最新 pkgsrc 版本的符号链接)。只要替换掉这一行,或者注释掉,然后加上上面的一行。

然后删除并重新安装 屏风:

sudo pkgin remove screen && sudo pkgin install screen
© www.soinside.com 2019 - 2024. All rights reserved.