linux centos系统 /usr/libexec 目录下装的是啥东西

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux centos系统 /usr/libexec 目录下装的是啥东西相关的知识,希望对你有一定的参考价值。

我用c编写了一个小程序,无法编译(-bash:gcc:command not found ),但是用whereis gcc可以找到 /usr/libexec/gcc,要怎么处理?

根据目录命名,大概能判断这个目录是用户运行库目录。
bash找不到gcc的话,可能是PATH变量没有包含这个目录,你可以在你的程序头部分加入以下命令:
PATH=”$PATH”:/usr/libexec/
这样,每次运行这个程序的时候,这个目录就被纳入PATH系统变量中了,命令就能够被bash找到了。
参考技术A 加到PATH中.
vi /etc/profile
修改PATH=/usr/libexec:$PATH
保存退出并运行 source /etc/profile.
参考技术B /usr/libexec 目录下存放一些函数库、执行文件及连接文件。
简单介绍下/usr下各目录的作用。
/usr:安装除操作系统本身外的一些应用程序或组件,一般可以认为linux系统上安装的应用程序默认都安装在此目录中;
/usr/bin:一般用户有机会使用到的程序,或者该软件默认就是要让所有用户使用才会放在该目录中;
/usr/sbin:一些系统有可能会用到的系统命令,与/sbin比起来,都是一些较次要的文件;
/usr/etc:自行安装或非系统主要的配置文件目录;
/usr/games:只要是电脑游戏相关的软件,就都安装到这个目录;
/usr/include:存放的文件都是一些系统中用户所会使用到的C语言header文件,保存的都是".h"的文件;
/usr/kerberos:kerberos是一种安全机制,让用户可以直接使用支持kerberos机制系统上的部分资源;
/usr/lib:存放一些函数库、执行文件及连接文件,特别的是,存放在这里面的文件都是不希望直接被用户或shell脚本所使用的文件,在/usr/lib中有非常多的子目录,每一个软件都有其各自所需的函数库;
/usr/libexec:这个目录下的文件及文件夹应该都可以放置在/usr/lib下;
/usr/local:linux系统中安装的共享软件程序最好的方式是安装在/usr/local下,按照linux标准目录结构,新建立的软件都应该放在/usr/local下;
/usr/local/bin:存放软件执行文件的目录;
/usr/local/sbin:同样存放软件执行文件的目录,但此目录专门针对系统所使用的文件;
/usr/local/lib:软件相关的函数库;
/usr/local/share:当文件性质不好归属时就会放在此,man手册就放在这个目录下;
/usr/local/src:所安装软件的源代码放置在此;
/usr/share:此目录都是一些共享信息,最常被用到的就是/usr/share/man这个目录,/usr/share里的信息时跨平台的;
/usr/share/doc:放置一些系统帮助文件的地方;
/usr/share/man:manpage的文件存放目录,也是使用man查看手册页时查询的路径;
/usr/src:主要储存内核源代码的文件;
/usr/X11R6:存放一些X windows系统的相关文件。

Centos 安装 arm-linux-gnueabihf-gcc (armcc交叉工具链)

环境:CentOS 64位

准备工作:

1. 在linux系统的/usr/local/新新建(mkdir)arm文件夹,并改权限(chmod)为777。

mkdir arm  【新建 /usr/local/arm/ 目录】
chmod 777 arm  【修改此文件夹的权限 ,可用 命令 # cd -ll 查看】

2. 百度网盘下载arm-linux-gnueabihf-gcc文件,上传到linux系统/usr/local/arm中。

安装步骤:

1. 在/usr/local/arm解压缩:命令:

tar xvzf gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux.tar.gz  【解压文件在/usr/local/arm目录】

2. 查看解压文件,解压生成了 gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux 文件夹,其中包含bin文件夹,是我们所需要的。

3. 修改环境变量,把交叉编译器的路径加入到PATH。输入以下命令,添加  

vim /etc/profile        【修改/etc/profile文件(此文件属于系统级别的环境变量,设置在里面的东西对所有用户适用)】
添加以下代码
export PATH=$PATH:/usr/local/arm/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin

4. 解决 bad ELF interpreter: No such file or directory 意外情况:

  bad ELF interpreter: No such file or directory,安装下glic即可

yum install glibc.i686

解决缺少libstdc++.so.6库:error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such fill 意外情况:

yum -y install   libstdc+±4.8.5-28.el7.x86_64   

 

 

 

参考文献:

1. 【csdn】centos arm linux gcc,CentOS安装arm-linux-gcc交叉编译器

https://blog.csdn.net/weixin_28946137/article/details/116908205

2. 【cnblogs】bad ELF interpreter: No such file or directory 问题解决

https://www.cnblogs.com/qianzf/p/11996606.html

3. 【csdn】error while loading shared libraries: libstdc++.so.6 问题解决

https://blog.csdn.net/zhangyingna667/article/details/107293917/

以上是关于linux centos系统 /usr/libexec 目录下装的是啥东西的主要内容,如果未能解决你的问题,请参考以下文章

在linux中编译PostgreSQL程序出现/usr/lib/ld cannot found -lpq

linux/centos下php进程老是睡眠假死问题

linux中/usr和/opt里的文件有啥区别呢

LINUX系统里桌面的 unixODBC-2.3.0.tar.gz 怎么把文件放到/usr/loca/下 本人刚接触这个系统对于操作命令不

MAC /usr/local 文件夹权限问题

问题1:linux系统下新建用户useradd,提示找不到相应的命令;但是通过/usr/sbin/useradd却能够新建用户。