包管理与目录
经常使用包管理工具下载各种库,但是在链接的时候经常报错 no such file or directory, 这是因为不理解各种包管理器到底把库放哪了。 首先先来看常用目录的解释:
1、/bin :获得最小的系统可操作性所需要的命令
2、/boot :内核和加载内核所需的文件
3、/dev :终端、磁盘、调制解调器等的设备项
4、/etc :关键的启动文件和配置文件
5、/home :用户的主目录
6、/lib :C编译器的库和部分C编译器
7、/media :可移动介质上文件系统的安装点
8、/opt :可选的应用安装包, 通常是整个完整的包, 里面自身包含一个局部环境, 有 /bin /lib /share /include
等
9、/proc :所有正在运行进程的映像
10、/root :超级用户的主目录
11、/sbin :引导、修复或者恢复系统的命令
12、/tmp :每次重新引导就消失的临时文件
13、/usr :次要文件和命令的层次结构
14、/usr/bin :大多数命令和可执行文件
15、/usr/include :编译C程序的头文件
16、/usr/lib :库,供标准程序使用的支持文件
17、/usr/local :本地软件(用户所编写或者安装的软件)
18、/usr/local/bin :本地的可执行文件
19、/usr/local/etc :本地系统配置文件和命令
20、/usr/local/lib :本地的支持文件
21、/usr/local/sbin :静态链接的本地系统维护命令
22、/usr/local/src :/usr/local/*的源代码
23、/usr/man :联机用户手册
24、/usr/sbin不太关键的系统管理命令和修复命令
25、/usr/share :多种系统共同的东西(只读)
26、/usr/share/man :练级用户手册
27、/usr/src :非本地软件包的源代码
28、/var :系统专用数据和配置文件
29、/var/adm :各种不同的东西
30、/var/log :各种系统日志文件
31、/var/spool :供打印机、邮件等使用的假脱机目录
32、/var/tmp :更多的临时空间(在重新引导之后,文件予以保留)
-
brew
使用 brew --help 查看命令参数-
search
只知道某个包的一部分名称或确定仓库是否有某个包使用查询很方便 -
info
给出了包的安装路径, 大小等信息 -
list
列出已经安装的包 -
link
对包进行软连接到系统地址, 安装时自动执行, 一般不用管
brew 中 link 正是编译链接时的关键, 安装完成后, 一般都会执行 link, 该操作将库放到常用的环境地址
/usr/local/xxxx
中, 通过brew --prefix
可知道安装位置的前缀.- 例如
brew install sdl2
安装完成后, brew 总是将原始的包放在/usr/local/Celler
中然后将包的内容通过软链接放到环境目录中 - 通过
find /usr -name "*SDL2*"
可以进行查找 sdl2 相关信息, 可以看到/usr/local/lib
和/usr/local/include
中已经包含有相关文件。
通过 brew unlink 可以看到 include 中去除了 SDL.h 的软链接 , brew link 后又回来了.
-
-
apt
apt 在 ubuntu 下默认安装位置是/usr/xxxx
其他情况和 brew 差不多
网友评论