找回密码
 注册
关于网站域名变更的通知
查看: 225|回复: 1
打印 上一主题 下一主题

Linux下常见的~/.bashrc、/etc/profile、/etc/ld.so.config小科普以及caffe编译遇...

[复制链接]
  • TA的每日心情

    2019-11-20 15:22
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2020-5-22 13:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    ~/.bashrc
    2 @* t& n# t( e/ _8 d. ]. y4 u用于非交互式模式,即nonlogin shell,在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。 ! N! P5 R2 _/ I8 I2 f. i$ P: g
    source ~/.bashrc2 K4 A$ D. u. P
    : f9 d! ?! G: h
    /etc/profile
    3 I, l1 X# H$ l用于交互模式,即login shell,这个文件是每个用户登录时都会运行的环境变量设置,并从/etc/profile.d目录的配置文件中搜集shell的设置。
    ' Y0 t# g7 y& J3 j8 Y+ W: u如安装CUDA时:
    3 \# _) |: b+ Z% X# p) c" d
    6 K: D. W$ w$ o9 |7 M' X, usudo gedit /etc/profile, add the following path: + M4 R0 B$ ]: D" S7 i! s' k- D, h
            >>export PATH=/usr/local/cuda/bin: $PATH2 R' C/ F* t1 N
            >>export LD_LIBRARY_PATH=/usr/local/cuda/lib64: $LD_LIBRARY_PATH
    . n' H! @5 ~% c2 S# s/ X7 Z  p# C' C& |
    4 z) H0 t; P3 D; T2 _% G
    caffe编译时如果有这样的错误:’libprotobuf.so.10 is not found’
    6 S+ M: u7 |  z( p' _. Q则需要在profile下添加路径
    # f4 F7 @$ v; V5 l) P1 a$ |7 L4 c( h8 w; c: c3 |9 d6 O
    >>sudo gedit /etc/profile9 L  `3 G( `$ d  Z" A& ?. c
      export LD_LIBRARY_PATH=/usr/local/lib: $LD_LIBRARY_PATH! _) E- `7 ?+ S& p4 K+ j
    >>source /etc/profile8 w2 T/ ]' f+ J# k7 w1 k6 P
    >>cd /usr/local/lib
    - }1 U" l, E6 R- b>>sudo ln -sf ~/anaconda2/lib/libprotobuf.so.10 libprotobuf.so.10' N5 N8 p- s' s6 ~) U6 J- {# _2 _

    0 E* R! H$ R. q# j( c3 `0 k3 s0 U5 s# t7 a' A- f
    两者关系:/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是”父子”关系。# w2 d  d& N- N; a

    ) o. x5 [+ n* o; o) }5 B4 t3 ~ld.so.conf
    1 M" h1 \/ f7 ]2 k5 M* }7 |3 v; {动态程序ln相比于静态程序sln小很多,但是如果动态可执行程序不包含运行所需的所有函数,Linux 的动态载入器负责将这些程序和所有必需的共享库一起装入。
    8 |* Z1 h$ e5 J2 t动态装入器找到共享库要依靠两个文件:/etc/ld.so.conf 和 /etc/ld.so.cache。我们可以通过cat查看ld.so.config ; O! T+ K/ z1 s* Q3 r# A
    当 ldconfig 操作结束时,您会有一个最新的 /etc/ld.so.cache 文件,它反映您对 /etc/ld.so.conf 所做的更改。从这一刻起,动态装入器在寻找共享库时会查看您在 /etc/ld.so.conf 中指定的所有新目录。
    7 D/ H; r6 x' g8 r- u! |6 HLD_LIBRARY_PATH! }6 L7 |* E2 m* ?& y5 j$ d8 F
    ! }* r; ]$ ~8 `) Q6 K  z' h" b
      要指示动态装入器首先检查某个目录,请将 LD_LIBRARY_PATH 变量设置成您希望搜索的目录。多个路径之间用冒号分隔;例如:
    ; ~, }. l- z/ e0 X* X  # export LD_LIBRARY_PATH=”/usr/lib/old:/opt/lib” 7 k2 I4 F% O% Y3 W! l$ E
    caffe编译时,error while loading shared libraries: XXX.so: cannot open shared object file: No such file or directory。则需要将路径加入共享文件库:* m. c: B! B, T4 Y: i* o* y
    1 j6 H" X' q; [4 f1 e+ }
    sudo su
    5 B/ j( Q; O; |7 ^' k4 @cat /etc/ld.so.conf
    2 U' T5 j0 `; [1 ]' Vecho "XXX.soPATH" >> /etc/ld.so.conf  H$ l" h# c! t) S2 [
    ldconfig4 }/ c: i& U) ~8 Y

    8 I1 g7 Y! \; R0 ?$ e3 ~8 a9 M& Z. q; z3 o) y8 l, \' G1 i. W  D

    . G2 [! O0 ~6 ~: W0 g4 x

    该用户从未签到

    2#
    发表于 2020-5-22 14:29 | 只看该作者
    /.bashrc、/etc/profile、/etc/ld.so.config小科普
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-11-26 05:49 , Processed in 0.140625 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表