有时我会遇到不提供.deb
或.rpm
仅作为可执行文件提供的软件。
例如,Visual Studio Code,WebStorm或Kerbal Space Programm。
对于这个问题,我将以Visual Studio Code为参考。
该软件以压缩包的形式提供。
解压缩时,我剩下一个名为的文件夹VSCode-linux-x64
,其中包含名为的可执行文件Code
。
我可以Code
在我的终端上双击或指向它/home/user/Downloads/VSCode-linux-x64/Code
来执行它。
但是,我想知道是否有安装此应用程序的正确方法。
我想要实现的是:
vscode
从终端中的任何文件夹进行写入,它将自动执行Visual Studio Code。附加信息:
编辑:
我决定给@kba答案,因为他的方法更适合我的备份解决方案,除此之外。让脚本执行二进制文件使您可以添加参数。
但公平地说,@ John WH Smith的方法与@kba的方法一样好。
要通过名称来调用程序,shell会在$PATH
环境变量中搜索目录。在Debian中,$PATH
您用户的默认值应包括/home/YOUR-USER-NAME/bin
(即~/bin
)。
首先,请确保目录~/bin
存在;如果不存在,请创建该目录:
mkdir -p ~/bin
您可以将二进制文件符号链接到该目录,以使其可用于外壳程序:
mkdir -p ~/bin
ln -s /home/user/Downloads/VSCode-linux-x64/Code ~/bin/vscode
这样您就可以vscode
在命令行上运行,也可以从命令启动器运行。
注意:您也可以将二进制文件复制到$PATH
目录中,但是如果二进制文件依赖于相对路径,则可能导致问题。
但是,总的来说,通常最好使用OS提供的方法(apt-get,deb软件包)或软件项目的构建工具来正确安装软件。这将确保正确设置从属路径(如启动脚本,手册页,配置等)。
更新:还反映了托马斯·迪基(Thomas Dickey)的评论和法赫姆·米莎(Faheem Mitha)的回答,我通常对带有顶级二进制文件的tarball并希望从那里运行的软件进行以下操作:
将其放置在合理的位置(按照standard-compliance的顺序/opt
,/usr/local
或放置在主目录中的文件夹,例如~/build
),并在更改为该位置并执行二进制文件的$PATH
位置(例如/usr/local/bin
或~/bin
)中创建可执行脚本包装器:
#/bin/sh
cd "$HOME/build/directory"
exec ./top-level-binary "$@"
由于它模拟更改到该目录并手动执行二进制文件,因此它使调试诸如不存在的相对路径之类的问题变得更加容易。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句