找回密码
 注册
关于网站域名变更的通知
查看: 224|回复: 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 + f; c8 \. ]% O; k  J  d' s
    用于非交互式模式,即nonlogin shell,在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。 & X3 m0 O/ j, P: M1 J! o
    source ~/.bashrc9 {6 x- Y: l9 o  ~3 L5 j! O
    ) h3 m( @% F3 z1 s) C
    /etc/profile
    1 A& _9 [( g) b) p* y用于交互模式,即login shell,这个文件是每个用户登录时都会运行的环境变量设置,并从/etc/profile.d目录的配置文件中搜集shell的设置。 6 H- k" H7 E' P. v
    如安装CUDA时:
    & k0 d/ R5 c" @* ^( y# p  T
    : i) c9 M+ m, a& K- }5 Lsudo gedit /etc/profile, add the following path:
    , I# v% J6 ]8 C3 K& @: e$ b        >>export PATH=/usr/local/cuda/bin: $PATH
    + {! A0 a* Y. {1 l- u+ ~        >>export LD_LIBRARY_PATH=/usr/local/cuda/lib64: $LD_LIBRARY_PATH) d3 Q! T. V& ?' D

    9 g$ u) ?$ n) P; u/ ~  w! g& V! v
    5 z( s( A/ n" q" y& fcaffe编译时如果有这样的错误:’libprotobuf.so.10 is not found’
    ; ^6 l5 V: s  Q7 D3 l9 }则需要在profile下添加路径! A) d. M% T# B8 W7 k- k

    2 P2 n" A9 O# S$ W& G1 D>>sudo gedit /etc/profile
    ) u9 [. a3 E) D$ C. c  export LD_LIBRARY_PATH=/usr/local/lib: $LD_LIBRARY_PATH8 ~1 U+ s$ `! d6 B" ^
    >>source /etc/profile& j; ^0 p4 p& o- i+ b! f
    >>cd /usr/local/lib
    # ?9 r% g3 h  _) ?% v6 `>>sudo ln -sf ~/anaconda2/lib/libprotobuf.so.10 libprotobuf.so.10
    ) l5 s" b9 [* Z! B% t% {% Q0 L: r7 S1 z, }# G

    0 _& _- H# h6 w  H. S# F# k' ?7 d9 Y) b) g两者关系:/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是”父子”关系。7 ~3 b7 ^4 G" v1 S) d, B6 R

      \1 @) ]2 J7 d. P, Qld.so.conf 4 M3 A1 T: b3 W3 b2 u5 E6 ]8 [
    动态程序ln相比于静态程序sln小很多,但是如果动态可执行程序不包含运行所需的所有函数,Linux 的动态载入器负责将这些程序和所有必需的共享库一起装入。 & S1 s( y4 z7 Y: }/ |
    动态装入器找到共享库要依靠两个文件:/etc/ld.so.conf 和 /etc/ld.so.cache。我们可以通过cat查看ld.so.config
    ; D2 {: x% V5 }# V9 g0 c- I当 ldconfig 操作结束时,您会有一个最新的 /etc/ld.so.cache 文件,它反映您对 /etc/ld.so.conf 所做的更改。从这一刻起,动态装入器在寻找共享库时会查看您在 /etc/ld.so.conf 中指定的所有新目录。   q% F) k9 V. e  C  C6 Z9 ]
    LD_LIBRARY_PATH
    + Y6 f* r/ o) w5 s: G; K' i: ~! k9 D. a$ b: Q
      要指示动态装入器首先检查某个目录,请将 LD_LIBRARY_PATH 变量设置成您希望搜索的目录。多个路径之间用冒号分隔;例如:
    6 }  h7 n- B- w* W1 ^& N  # export LD_LIBRARY_PATH=”/usr/lib/old:/opt/lib” % n, Y! m- E4 g/ a8 q3 e" A$ ~
    caffe编译时,error while loading shared libraries: XXX.so: cannot open shared object file: No such file or directory。则需要将路径加入共享文件库:
    " o) \1 u& Z2 `  `+ Q$ _' d6 s. b( r# h. ?5 G/ A0 D* S% f
    sudo su
    . v6 l. m5 X5 s/ }4 F' b' mcat /etc/ld.so.conf- a8 ^8 u3 v/ T! y$ W$ o! o- N
    echo "XXX.soPATH" >> /etc/ld.so.conf
    ( U& }4 U% \( g1 z" i+ F# Nldconfig' b. n% w8 I! g* C5 ^

    # C2 s! M/ J" w
    # d7 `8 H7 K$ \7 G0 R& \- l& U3 R* g) [3 o( W# N/ {4 r* n

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-26 04:38 , Processed in 0.171875 second(s), 25 queries , Gzip On.

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

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

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