找回密码
 注册
关于网站域名变更的通知
查看: 221|回复: 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 G2 v4 E2 G+ f4 u' W( G% u用于非交互式模式,即nonlogin shell,在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。当它读到文件的结尾,shell也就终止了。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。
    + @, S8 C0 z$ n2 Y$ bsource ~/.bashrc
    : \& F% N$ P# v" w# U  S" @  J4 b" V; ^* m- \# U2 W! [5 d; {  Q
    /etc/profile
    . |7 o% C& n' U/ V3 e1 E用于交互模式,即login shell,这个文件是每个用户登录时都会运行的环境变量设置,并从/etc/profile.d目录的配置文件中搜集shell的设置。 ( {0 r# c6 G5 C
    如安装CUDA时:: d  H! w6 @5 j: ~8 G

    : C9 [$ c, c. M/ Fsudo gedit /etc/profile, add the following path:
    $ c' m- \4 J* u- {9 C4 Y  j' R) L8 ^        >>export PATH=/usr/local/cuda/bin: $PATH
    2 f( H" K# ^, ]. o! i- g        >>export LD_LIBRARY_PATH=/usr/local/cuda/lib64: $LD_LIBRARY_PATH
    6 l  U  ~) I! c! d4 l2 X; b" N- a( r6 U0 N
    ' ~6 |- u2 U9 ~# G- _& B
    caffe编译时如果有这样的错误:’libprotobuf.so.10 is not found’ $ Z" |# \  P# E% C
    则需要在profile下添加路径( a0 \/ W: A) `& \

    / a" E5 Z( v7 F( P>>sudo gedit /etc/profile
    ' i2 x5 _* V- s/ |( T  export LD_LIBRARY_PATH=/usr/local/lib: $LD_LIBRARY_PATH
    6 ?9 E$ v) Q  v$ J>>source /etc/profile
    , d4 e  `5 \6 R>>cd /usr/local/lib" L* j3 ?" j$ \* B6 c
    >>sudo ln -sf ~/anaconda2/lib/libprotobuf.so.10 libprotobuf.so.101 s2 s) H, P2 a. ?, r* o! N) L

    ; D: v7 k3 d8 `
    2 C* X! K& [+ T两者关系:/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承/etc/profile中的变量,他们是”父子”关系。
    " ?1 W. [* d# q) y8 D5 e
    / o' ?; d- E& d. Fld.so.conf
      k- y' a9 i8 X# g. _6 g动态程序ln相比于静态程序sln小很多,但是如果动态可执行程序不包含运行所需的所有函数,Linux 的动态载入器负责将这些程序和所有必需的共享库一起装入。
    9 i$ g9 B$ ?  @. l4 Z动态装入器找到共享库要依靠两个文件:/etc/ld.so.conf 和 /etc/ld.so.cache。我们可以通过cat查看ld.so.config + }: v" o  z6 }* n
    当 ldconfig 操作结束时,您会有一个最新的 /etc/ld.so.cache 文件,它反映您对 /etc/ld.so.conf 所做的更改。从这一刻起,动态装入器在寻找共享库时会查看您在 /etc/ld.so.conf 中指定的所有新目录。 * h, T7 b3 F9 ?
    LD_LIBRARY_PATH7 p$ r% S3 A! M: u* V# ~3 u& y

    / l- e8 ~1 p( k$ `  X) ]1 E  要指示动态装入器首先检查某个目录,请将 LD_LIBRARY_PATH 变量设置成您希望搜索的目录。多个路径之间用冒号分隔;例如: ( }0 L& V8 s4 [# C/ [/ o
      # export LD_LIBRARY_PATH=”/usr/lib/old:/opt/lib” " U0 O# u3 K5 m
    caffe编译时,error while loading shared libraries: XXX.so: cannot open shared object file: No such file or directory。则需要将路径加入共享文件库:
    + b# h. C$ ]) n/ E" l& R- H, i, S
    ! a& }3 ~: Q' Q; T& ~* C, y7 @sudo su, k3 H9 H: M4 H7 ~$ J# o* S0 l
    cat /etc/ld.so.conf) _4 ]/ E' U) F" k9 C5 e, P. ]" I
    echo "XXX.soPATH" >> /etc/ld.so.conf" g+ l- a; m& G8 ~) S& ~& w
    ldconfig
    " X- R$ ]" D* _
    6 V7 n2 F1 j; o+ o/ O) g
    # R9 Q+ Z; G. @0 {0 E8 [# Y
    ) R9 ^) @+ E) W

    该用户从未签到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-26 00:28 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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