Linux可运行软件位置和环境变量
在Linux中运行软件就是一行命令的事,但是这些运行的软件具体在哪呢?
环境变量
任何一个软件都可以将其文件夹放到环境变量中,就可以使用命令唤起这个软件。
使用包管理器安装的软件会被默认安装到**/usr/bin**的位置中。
而自己编译的软件要看软件的编译脚本安装到什么位置,一般是**/usr/local/bin**中。
上面两个文件夹都在环境变量PATH中,所以可以被直接执行。并且**/usr/local/bin文件夹在PATH环境变量中比/usr/bin**更加靠前,也就是说会优先调用用户自己编译出来的应用程序。
所有的/bin文件夹
/bin 存放所有用户皆可用的系统程序,系统启动或者系统修复时可用(在没有挂载 /usr 目录时就可以使用)
/sbin 存放超级用户才能使用的系统程序
/usr/bin 存放所有用户都可用的应用程序
/usr/sbin 存放超级用户才能使用的应用程序
/usr/local/bin 存放所有用户都可用的与本地机器无关的程序
/usr/local/sbin 存放超级用户才能使用的与本地机器无关的程序
开源软件安装指南
如果是一个标准的开源项目,将源码解包之后怎么才能安装呢?
1 | ./configure -prefix=/usr/local |
第一条命令configure
是由项目开发者提供的命令,用来自己配置编译和安装的过程,并且会生成一个makefile文件以供接下来使用。prefix
命令用来指定安装位置,一般来说是**/usr/local**,也有的默认安装位置就是这样。
第二条命令make
就是根据makefile编译源文件。
第三条命令就是根据makefile中的install目标,进行软件的安装,会直接安装到对应位置。
软件被安装的位置就是选择的安装位置的**/bin文件夹中,已经被默认包含在环境变量中的,所以就可以直接使用软件了。软件的其他文件比如库文件,也都会在安装位置的/lib**文件夹,同样的别的资源文件都会放在对应的文件夹中。
如果开发者在makefile中预留了uninstall构建目标,还可以使用make uninstall
命令来卸载软件。
- Title: Linux可运行软件位置和环境变量
- Author: HarderHeng
- Created at : 2024-12-05 15:38:15
- Updated at : 2024-12-05 18:11:54
- Link: https://harderheng.life/2024/12/05/Linux可运行软件位置和环境变量/
- License: This work is licensed under CC BY-NC-SA 4.0.