- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我最近不得不从源代码编译一个程序 (Riak),因为他们还没有适用于 Ubuntu 16.04 的存储库。
我已经编译了程序并将其复制到/opt/riak,它运行良好。
由于该程序需要 sudo 权限,我决定将/opt/riak/bin/riak 符号链接(symbolic link)到/usr/local/bin/riak,而不是通过 profile.d 文件将变量添加到路径(因为在为了与 sudo 一起工作,我必须从/etc/sudoers 中删除 env_reset,我宁愿不这样做。
我得到的错误如下:/usr/local/bin/riak: 8: .: 无法打开/usr/local/bin/../lib/env.sh
符号链接(symbolic link)不应该从原始工作目录执行文件吗?有没有办法让它发挥作用?
最佳答案
错误消息几乎是不言自明的。显然,riak
可执行文件正在尝试使用相对于其自身的路径查找名为 env.sh
的文件,即 ../lib/env.sh
。最初,这将解析为以下路径:/opt/riak/bin/../lib/env.sh
,与 /opt/riak/lib/env 相同。嘘
。但是现在正试图在 /usr/local/bin/../lib/env.sh
中找到该文件,它与 /usr/local/lib/env.sh
显然文件不存在。
您有以下选项(按优先顺序排列):
/opt
中并从那里调用它/opt
中,并在 /usr/local/bin
中创建一个小的包装器 shell 脚本来调用原始可执行文件(请参阅本文末尾) ).configure
脚本(例如 --prefix=/usr/local
),以便它从 /usr/开始工作本地
。我不推荐选项 3;我更喜欢让 /usr
目录由 distos 包管理器管理。如果我必须自己编译一些东西,我更愿意将它放在 /opt
下的专用目录中。这样,如果以后想删除它,只需删除该目录即可。
选项 2 的包装脚本示例:
#!/bin/bash
exec /opt/riak/bin/riak "$@"
关于linux - 无法从/usr/local/bin/symlink 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39267045/
我尝试在 Localhost、XAMPP for PHP 5.6.32 和 Windows 8 上运行 Yii2 应用程序,但出现此错误: 我该如何解决这个问题。 谢谢 最佳答案 当您没有以管理权限在
我的代码总是打印符号链接(symbolic link)失败,即使它创建了符号链接(symbolic link),为什么会这样? 我正在编写我自己使用的所有核心实用程序,因为我想要体验并且不喜欢现有的实
我的同事认为他的想法很棒。他不喜欢包含许多点出现的路径(超过 2 或 3 个)。他的想法如下:使用 postinstall 命令创建指向 node_modules 中感兴趣的模块的符号链接(symbo
我几乎完全使用 WSL,并且只切换到主窗口来浏览和运行 Windows 原生程序。我有一个位于 /mnt/c/myrepo 的 git 存储库.为了“安装”/mnt/c/myrepo 中的代码我需要将
我正在尝试使用 pip 安装 ObsPy。 在下面的 cc 命令上安装失败: cc -bundle -undefined dynamic_lookup -L/usr/local/lib -L/usr/
我想知道是否有一些相当简单的 shell 咒语来计算目录的磁盘使用情况(使用 du 命令)但具有以下要求:指向目录内文件/子目录的符号链接(symbolic link)应该不遵循,但应该遵循到外部文件
我在 Windows 64 位上使用 Oracle Java 7。 当我使用 Files.createSymbolicLink 创建符号链接(symbolic link)时,我注意到这种行为: 如果目
关于我的另一个关于建模真实的面向用户的树结构的问题(Using firebase tree structure to represent a "document outline" structure
我正在尝试创建一个文件夹,该文件夹将包含另一个文件夹中的所有文件。 这是树形结构。我要符号链接(symbolic link) source至target . . ├── source-folder
我的应用程序使用 log4j 并将日志写入根目录中的目录 A。我想在不对应用程序进行任何更改的情况下将日志移出到已安装的驱动器。 我可以使用软符号链接(symbolic link)来做到这一点吗?我创
我有以下文件夹: 文件夹A 文件夹 B(这是指向文件夹 A 的符号链接(symbolic link)) 问题是,当我访问文件夹 B 时,我可以无限深入(即文件夹 A > 文件夹 B > 文件夹 B >
当我尝试使用 homebrew 安装库(brew install aLibrary)时,出现以下错误: Could not symlink lib/pkgconfig/aFile /usr/local
为什么会这样: #include #include #include int main(void) { const char filea[] = "../test/hunspel
在某些平台 (Windows) 上,File.symlink不受 Ruby 支持,引发 NotImplemented异常(exception)。我有一些代码可以使用或不使用符号链接(symbolic
我正在我的服务器上安装一个 PHP 脚本作为测试,但我遇到了这个错误。我无法理解脚本代码有什么问题。 我在应用程序上启用 Debug模式并收到此错误消息: Call to undefined func
当我在 lubridate 中运行 now() 时出现此错误。 Warning: Your system is mis-configured: ‘/etc/localtime’ is not a sy
这是一个测试: $ ln -nfs ~/.ssh ssh # Create a symlink in current dir. $ ack -g ssh # => nothing
我现在正试图弄清楚如何将一些数据备份到 S3。 我们有一个使用 rsnapshot 实现的本地备份系统,并且运行良好。我们正在尝试使用带有 --sync 选项的 s3cmd 来模仿 rsync 来传输
我有一个包含多个文件夹的网站,我试图在我的 .htaccess 中修复它们。过了一会儿,我有了一个很大的 .htaccess,其中包含有冲突的规则。 现在每次我想添加一个文件夹时,我都必须将它添加到
目前我使用的是 cabal-install 1.16.0我尝试更新 cabal-install 因为有人告诉我有更新版本的 ghc (7.6.1) 可用。除了这条消息之外,安装结果非常成功。 警告:无
我是一名优秀的程序员,十分优秀!