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包,这个问题仍然存在。关于有什么问题的任何建议?

4

1 回答 1

2

我的猜测是用于构建 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 ,您可以从8.0_2019Q4 pkgsrc 版本中获得一个工作屏幕(1) 。要从该版本中提取pkgin(1),请编辑该文件以使用此存储库 URL:/usr/pkg/etc/pkgin/repositories.conf

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

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

然后删除并重新安装屏幕

sudo pkgin remove screen && sudo pkgin install screen
于 2020-06-15T21:10:26.260 回答