Linux - lib, lib32, lib64, libx32和libexec文件夹的区别
在Linux嵌入式系统中,有时在根目录下会有lib和lib32两个文件夹,或者lib32只是一个lib文件夹的链接。所以收集了一下相关知识。
----- ----- ----- -----
Unix系的操作系统,遵循FHS - Filesystem Hierarchy Standard,Filesystem Hierarchy Standard。
类Unix系统的发行版distros包括,Fedora、CentOS、RHEL,以及Debian和BSD版,从文件系统角度来说,它们区别并不大。
Directory - /lib
包含必要的共享库和内核模块。
目的:/lib目录包含那些启动系统所需的共享库文件,以及运行根文件系统中的命令所需要的共享库文件,比如/bin和/sbin中的二进制文件。
注意1: 如果共享库仅被/usr中的二进制文件引用(如任何X Window的二进制文件),则不能放在/lib中。只有运行/bin和/sbin中的二进制文件所需的共享库可以放在这里。
注意2:/lib文件夹的主要目的是存放特定的库,这些库是在/bin和/sbin目录里的工具所需要的库,/lib中的库可以是32位或64位。
Directory - /lib<qual>
其他格式的基本共享库,不是必须的。可能是/lib32、/lib64等目录。
目的:在支持不止一种二进制格式的系统上,需要不同的共享库,所以可能有一个或多个/lib目录的变体。这通常用于支持多种二进制格式的操作系统上,用于支持64位或32位,需要相同名称但格式不同的库。
注意:在这种情况下,/lib32和/lib64可能是库的目录,而/lib是与其中一个库的符号链接。
Directory - /usr/lib
用于存放程序和软件包需要的库文件。
目的:/usr/lib里包括object files、库和内部二进制文件,这些不是由用户或shell脚本直接执行的文件。
注1: 各种独立于架构的特定应用程序静态文件和子目录必须放在/usr/share中。
应用程序可以使用/usr/lib下的一个子目录。如果一个应用程序使用一个子目录,所有应用程序专门使用的架构相关的数据必须放在该子目录中。
注2:例如,perl5子目录用于Perl 5模块和库。
Directory - /usr/lib<qual>
其他格式的库文件,不是必须的。
目的:/usr/lib<qual>的作用与/usr/lib作用相同,只是用来存放不同的二进制格式文件。
注意:在/usr/lib和/usr/lib<qual>相同的情况下(一个是另一个的符号链接),这些文件和每个应用的子目录都存在。
总结:
如果在/bin或/sbin目录下有可执行文件所需的库,这些库应该放在/lib*目录下。
如果有使用用户的应用程序和软件包的库,它们应该放在/usr/lib/*中。如果某个库需要可执行文件,但这些可执行文件不应该被用户直接调用或被root调用,它们应该放在/usr/libexec中。
参考:
相关文章
- Linux的linux aarch64和linux x86_64
- linux下面的三种安装软件的方式: RPM YUM 编译安装
- linux服务器最近的漏洞扫描问题及解决方法
- 怎样在 ubuntu 上安装 Linux 3.11 内核
- 在Ubuntu上升级到Linux内核3.11.6
- 在 Linux 中为非 SSH 用户配置 SFTP 环境
- Linux中使用rsync——文件和目录排除列表
- Snmp linux
- Linux Deploy在安卓手机安装LINUX系统
- linux下扇区、块、页的区别+inode与高速缓冲区在linux文件系统的作用
- linux下如何查看当前机器提供了哪些服务
- Linux系统中Tomcat运行Java项目
- 【Linux】内存、cpu和硬盘之间的区别
- 【Linux】linux ln文件夹的链接(转)
- 《树莓派学习指南(基于Linux)》——1.5 首次启动
- 《嵌入式 Linux C 语言应用程序设计(修订版)》一2.4 嵌入式Linux调试器GDB的使用
- linux中cp-a和cp-r的区别是什么
- I/O 机制的介绍(Linux 中直接 I/O 机制的介绍)
- Linux运维之——每日小技巧,谈进程与线程的区别
- Linux 程序安装目录 /opt 和 /usr/local 的区别
- Linux系统下C/C++开发mysql数据库应用
- Linux设备树(三 属性)
- 浅析nginx -s reload与service nginx restart区别及linux下nginx加载配置文件异常提示invalid PID number in "/run/nginx.pid"问题解决
- Linux连续执行多条命令的写法区别
- 终端神器MobaXterm使用记录:使用密钥文件配置连接linux、解决 MobaXterm 一段时间后自动断开
- Linux学习---linux下的彩蛋和各种有趣的命令
- Linux下使用虚拟网卡的ingress流控(入口流控)
- linux 下安装apache 快速教程
- Linux 单双引号区别
- Linux 之 arm linux 与 windows 使用 tftp 进行文件传输的简单整理
- 【Linux】linux经常使用基本命令
- Linux学习笔记(14)linux在6.x和7.x系列的安装与基本使用区别
- Linux文件目录介绍及文件颜色区别
- 做10年Windows程序员与做10年Linux程序员的区别
- 【Linux】linux下用python获取底层硬件信息接口
- Linux CentOS 各个版本的区别