我已经为 Ubuntu 安装了 Firefox-developer 和 Telegram。 Firefox 附带了许多文件,而不仅仅是二进制文件。 Telegram 附带了二进制文件和一个“更新程序”。
更一般地说,对于不在存储库中的任何程序,我们要么包含存储库,要么从网络下载文件。 Firefox 开发者、电报、有时谷歌浏览器等都是这种情况。
到目前为止,我所做的是将完整文件夹包含在下面~/bin
- 如果我不保持相对路径相同,Firefox 会抱怨 - 并将这些完整文件夹添加到变量中PATH
。为了清楚起见,它看起来像这样:
是将二进制文件的每个完整路径添加到PATH
.例如,这条线在我的~/.bashrc
export PATH="$PATH:~/bin/firefox-dev/firefox-bin:/~/bin/Telegram/Telegram"
但这可能不是正确的方法?谁能给我一点提示吗?
答案1
确实没有一种“正确”的方法可以做到这一点。有多种有效的方法,您选择哪一种取决于您的最终意图。你提到你是一个“新手”,所以这种困惑是正常的——随着你获得经验,你会深入了解哪些方法更适合你。但在大多数情况下,有以下选择:
像您一直在做的那样安装到您的主目录中。当您想要临时使用新程序时,或者当您有 NFS 主目录并且您希望在登录到具有相同 NFS 主目录的不同计算机时“随身携带您的程序”时,此功能非常有用。
安装到系统本地位置,例如
/usr/local/
.当您希望系统上的所有用户都能够访问给定程序,但又不希望它位于传统上更受控制的/usr/
目录中时,这非常有用。通常,此方法需要sudo
或其他超级用户权限。安装到系统位置,例如
/usr/
.这与 #2 相反,您确实希望系统位于受控的系统范围位置(例如/usr/bin/programname
运行程序)。通常还需要sudo
或其他超级用户权限。
询问五个不同的人,您可能会得到关于应在何处安装这些程序的五种不同意见。许多附带的说明假设您希望将它们安装到特定位置,有些在未安装到预期安装位置时不能很好地工作(如果有的话)。