1. 软件安装
1. Linux系统下安装软件的方式有哪几种?
- 通过Tarball 源码安装
- 通过 二进制文件安装
linux 下的软件大都进行了GPL的授权,即开放了源码,因此可以通过下载源码,进行编译的方式来安装软件。这种方式的优点是比较灵活,即可以根据使用者的需求去更改源码。另外,相比于直接闭源软件,开源软件的安全性更好,因为所有使用者都可以阅览源码,因此可以及早发现软件漏洞以及进行修复。
2. 什么是Tarball?Tarball包含的内容?Tarball 安装的一般步骤?
通过源码形式安装软件,用户通常需要通过网络下载源码文件,而源码文件通常比较大,如果直接下载,则需要占用较大带宽,为了缓解这个问题,源码文件通常首先通过Tar打包,然后进行压缩,形成xxx.tar.gz等压缩文件,用户往往通过互联网下载打包、压缩后的源码文件,然后进行解压后再安装。因此,将这种形式的源码文件称之为Tarball文件。
通常一个Tarball软件安装包中包含以下内容:
- README 或者INSTALL 安装说明文件
- configure 文件
- 源码文件
其中configure文件的作用是检测主机的环境,包括寻找库文件、检测gcc是否存在等,根据这些主机环境信息生成Makefile文件。
3. 不同发行版的通过 二进制文件安装 软件的机制有哪些?
-
Redhat
- RPM软件管理机制
- yum 在线升级模式
-
Debian
- dpkg 软件管理机制
- APT 软件在线更新模式
4. Tarball形式安装软件的一般步骤?
- 下载Tarball 软件包(最好放在/usr/local/src 目录下),并使用tar并解压
./configure --help | more
查看安装参数- 采用configure生成Makefile文件(通常需要执行./configure 命令)
- 为新安装的软件在 /usr/local 下新建一个目录
- 采用make install(根据 README中的具体命令安装,通常情况下是make install)将软件安装在新建目录下
5. 通过Tarball软件形式需要注意哪些?
- Tarball 软件包最好解压到 /usr/local/src 目录下
- 安装时最好安装在 /usr/local/软件 下,根据configure进行设置,例如
./configure --prefix=/usr/local/ntp
- 为安装到单独目录的软件之 man page 加入 man path 搜寻。即打开
/etc/man_db.conf
,追加
MANPATH_MAP /usr/local/software/bin /usr/local/软件/man
6. 如何移除软件?
将/usr/local/软件名 将该软件对应的目录删除即可
7. 怎么采用补丁包更新软件?
例如:v0.1 升级到 v0.2
- 下载0.1版本到0.2版本的补丁包 .patch 文件
- 根据.patch 文件更新源码文件
- 重新编译
2.库管理
1.软件库文件的形式及特点?
软件依赖的库有两种类型
- 静态库
- 动态库
比较项 | 静态库 | 动态库 |
---|---|---|
扩展名 | libxxx.a | libxxx.so |
文件大小 | 软件间不共享,较大 | 软件间共享,较小 |
依赖 | 弱 | 强 |
软件升级 | 难 | 易 |
2.库的放置目录?
大多数库放置在:
- /lib64
- /lib
内核库文件放置在:
- /lib/modules
3.如何将动态库加载到cache中?
- 在/etc/ld.so.conf 中追加库文件所在目录
- 执行ldconfig
[root@study ~]ldconfig [-f conf] [ -C cache]
[root@study ~]ldconfig [-p]
选项与参数:
-f conf :conf 指的是某个文件名,也就是说,使用 conf 作为 libarary函式库的取得路径,而不以 /etc/ld.so.conf 为默认值
-C cache:cache 指的是某个文件名,也就是说,使用 cache 作为快取暂存的函式库资料,而不以 /etc/ld.so.cache 为默认值
-p :列出目前有的所有函式库资料内容 (在 /etc/ld.so.cache 内的资料!)
4. 查看软件依赖的库文件
ldd 软件名