我正在尝试使用该vidcontrol
实用程序更改 FreeBSD 13.0-RELEASE 上的 VT,但它没有执行任何操作。经过大约一个小时的尝试找出原因后,我查看了可执行文件,发现它只是一个不执行任何操作的 shell 脚本。
kettle in ~$ cat /usr/sbin/vidcontrol
#!/bin/sh
exit 0
我在哪里可以得到实际的vidcontrol
?
答案1
vidcontrol(1)
是 FreeBSD 中基本操作系统的一部分,因此不属于任何软件包的一部分。似乎有什么东西或某人破坏了您的文件,使其成为空操作。
您可以从安装的文件(可能在 USB 记忆棒或光学介质上)中检索vidcontrol
二进制文件。FreeBSD-13.0-RELEASE-*.iso
如果您无法再方便地访问您使用的安装介质,下载 ISObootonly
就足够了:
$ ftp [email protected]
Trying 204.15.11.115:21 ...
Connected to ftp.geo.freebsd.org.
220 This is ftp0.tuk.freebsd.org - hosted at MetaPeer http://www.metapeer.com
331 Please specify the password.
Password:
230-
230-This is ftp0.tuk.FreeBSD.org, graciously hosted by ZI IN A LOCATION TBD.
230-
230-FreeBSD files can be found in the /pub/FreeBSD directory.
230-
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd /pub/FreeBSD/releases/ISO-IMAGES/13.0/
250 Directory successfully changed.
ftp> get FreeBSD-13.0-RELEASE-amd64-bootonly.iso
local: FreeBSD-13.0-RELEASE-amd64-bootonly.iso remote: FreeBSD-13.0-RELEASE-amd64-bootonly.iso
229 Entering Extended Passive Mode (|||60919|)
150 Opening BINARY mode data connection for FreeBSD-13.0-RELEASE-amd64-bootonly.iso (363548672 bytes).
100% |***************************************************************************| 346 MiB 84.58 MiB/s 00:00 ETA
226 Transfer complete.
363548672 bytes received in 00:04 (83.59 MiB/s)
ftp> quit
221 Goodbye.
然后使用tar(1)
来识别并提取您需要的文件:
$ tar tvf FreeBSD-13.0-RELEASE-amd64-bootonly.iso | grep vidcontrol
-r-xr-xr-x 1 0 0 28456 Apr 9 00:26 usr/sbin/vidcontrol
-r--r--r-- 1 0 0 6154 Apr 9 00:26 usr/share/man/man1/vidcontrol.1.gz
我假设您的/tmp
目录不包含文件或目录/tmp/usr
。如果确实如此,请将其暂时搁置或rm -rf
不放。
$ tar xpf FreeBSD-13.0-RELEASE-amd64-bootonly.iso -C /tmp usr/sbin/vidcontrol
最后,检查/tmp/usr/sbin/vidcontrol
并尝试运行它。如果看起来不错,请将其移至/usr/sbin
:
$ sudo chown root:wheel /tmp/usr/sbin/vidcontrol
$ sudo mv /tmp/usr/sbin/vidcontrol /usr/sbin/
出于谨慎考虑,可以采取一些额外的步骤,例如在sha256
提取 ISO 文件之前验证它,但这就是该过程的要点。