我有一个 perforce 版本控制客户端 ( p4)的可执行文件。我不能把它放进去,/opt/local因为我没有 root 权限。是否有一个标准位置需要放置在它下面$HOME?
文件系统层次结构是否有一个约定,说明需要将本地可执行文件/二进制文件放入$HOME/bin?
另外,如果确实有约定,我是否必须明确包含$HOME/bin目录的路径或目录的任何位置bin?
fhs executable software-installation directory-structure not-root-user
从我的研究中,我似乎注意到所有包管理器都坚持被用作特权用户,并且必须安装到/.
通常,我喜欢做的是创建一个一次性帐户,编译一些软件,然后$HOME为该帐户安装。我可以尝试各种设置,然后当我完成后,只需销毁帐户。
然而,编译软件变得乏味。
我的经验是真的只是限于yum,但我不明白为什么我会无法回购文件拖放到~/etc/yum.repos.d并已百胜一切安装到主账户。
是否有任何理由必须将包管理器用作特权用户来安装软件?
当我安装一个简单的程序时,它经常使用make && make install并且通常甚至没有卸载目标。
如果我想升级一个程序,假设它只是无缝地重写旧程序是标准协议吗?
我如何跟踪这些程序;大多数人是否只是“一劳永逸”,如果没有给出卸载目标,我是否必须手动删除所有内容?
鉴于场景:
如果用户从本地登录到远程,希望使用未安装在远程上的 shell与远程交互,用户如何单独完成此操作?
我通过以下方式从源代码安装了OpenSSL:
wget https://www.openssl.org/source/openssl-1.0.2h.tar.gz
tar -xvzf openssl-1.0.2h.tar.gz
cd openssl-1.0.2h/
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
sudo make
sudo make install
Run Code Online (Sandbox Code Playgroud)
但是当我在命令行上输入 openssl 时,它显示“当前未安装程序‘openssl’”。我该怎么办?
当我没有 sudo 访问权限时,我应该如何编译依赖于未在系统上预安装开发包(头文件等)的库的程序?
在这种特殊情况下,我有 Ubuntu 12.04,但我希望有一个更通用的解决方案,因为对我来说,我需要管理员权限才能安装开发包以便我可以编译,这似乎很奇怪。