使用 start-tor-browser 文件覆盖后如何恢复 /usr/bin/env

Aka*_*ash 5 apt software-installation

我正在安装 Tor 并想直接从终端访问它,所以我试图复制start-tor-browser/usr/bin. 但是错误地,我用/usr/bin/env文件替换了start-tor-browser文件。我现在该怎么办??

Eli*_*gan 6

/usr/bin/envcoreutils包提供。karel 使用单个命令的方式可能会起作用,但我建议先用/usr/bin/env符号链接替换/bin/busybox,以防尝试使用删除或安装脚本env(通常假设存在)。

首先将放置在那里的错误文件移到一边,或者如果您知道不需要该文件,则将其删除。这将其重命名envenv.old

sudo mv /usr/bin/env{,.old}
Run Code Online (Sandbox Code Playgroud)

然后建立/usr/bin/env一个符号链接到/bin/busybox. 当使用 name 运行时envbusybox将作为env命令运行:

sudo ln -s /bin/busybox /usr/bin/env
Run Code Online (Sandbox Code Playgroud)

然后执行重新安装。您刚刚创建的符号链接将在必要时使用,如果不需要则不会产生任何不良影响,并将自动替换为envcoreutils包中安装的正确可执行文件:

sudo apt --reinstall install coreutils
Run Code Online (Sandbox Code Playgroud)

通常,如果您需要知道哪个包提供了文件,您可以运行(在本例中为),只要安装了包,即使文件本身已损坏或删除,它也能工作。或者您可以使用Ubuntu Packages SearchSearch the contents of packages部分,这不需要您使用完整路径;您只需选择您的 Ubuntu 版本并输入.dpkg -S /path/to/filedpkg -S /usr/bin/envenv