Total Pageviews

Saturday 6 August 2016

linux软件包的基本结构和安装路径


安装的软件包, 一般有四部分组成: 头文件, 库文件, 可执行程序,文档。 一般情况下,它们放的位置如下:
/usr/include(或者/usr/local/include), /usr/lib(或者/usr/local/lib), /usr/bin, /usr/share/doc/。 在软件包安装时,一般会自动安装到这些文件夹当中; 但有时候也需要用户自己把头文件、库文件等拷贝到相应的目录下, 或者做一个符号链接也可以。

ln -sf  被链接的目录或文件  链接目录或文件
-s: 符号链接
-f: 硬链接

当然有时会把软件包放在 /usr/local/ 下(其目录结构和/usr/基本相同), 但要注意 记得将 /usr/local/lib 加入到缺省的共享库搜索路径中,就是在文件 /etc/ld.so.conf 中加入一行:
/usr/local/lib
然后运行 
ldconfig

软件包安装后的常见问题及解决办法:

 1, 软件包已经安装,但仍提示找不到库文件。
       原因一般有二。 第一, 软件包没有安装在缺省的共享库搜索路径中,系统不能自动找到它。 你可以通过添加缺省搜索路径的办法解决, 也可以通过拷贝,链接 把文件放到系统能够自动找到的地方。 第二, 安装的库文件的名字和你需要的名字不同, 可能是大小写,也可能是因为有额外的版本号, 这时你只需要再做一个新的库文件的符号链接, 链接的名字和你需要的相同即可。
ln -sf
 2,如何尽量快速的软件安装。
      首选是在ubuntu的软件库中找,找到后用 sudo apt-get install 进行安装。 比如:
   apt-cache search emacs 
就搜索了所有含有关键词emacs的软件名称。一大堆。如果要分屏,用
 apt-cache search emacs|less 
或者用grep更精确地定位 比如 
apt-cache search emacs|grep emacs22 
     当然你也可以通过google, Baidu等来确定你相要的软件包在软件库中的具体名字。

     另一个选择是通过google, baidu搜索 deb包, 然后下载下来进行安装.