源码包安装
源码包一般包含多个文件,为了方便发布,通常会将源码包做打包压缩处理,Linux 中最常用的打包压缩格式为“tar.gz”,因此源码包又被称为 Tarball。
优点:
- 开源。如果你有足够的能力,则可以修改源代码。
- 可以自由选择所需的功能。
- 因为软件是编译安装的,所以更加适合自己的系统,更加稳定,效率也更高。
- 卸载方便。
缺点:
- 安装过程步骤较多,尤其是在安装较大的软件集合时(如 LAMP 环境搭建),容易出现拼写错误。
- 编译时间较长,所以安装时间比二进制安装要长。
- 因为软件是编译安装的,所以在安装过程中一旦报错,新手很难解决
应用程序的目录结构
| 文件类型 | 保存目录 |
|---|---|
| 普通执行程序文件 | /usr/bin |
| 服务器执行程序文件和管理程序文件 | /usr/sbin |
| 应用程序配置文件 | /etc |
| 日志文件 | /var/log |
| 应用程序参考文档文件 | /usr/share/doc |
常见的软件包封装类型
| 文件类型 | 保存目录 |
|---|---|
| RPM软件包 | 扩展名为“.rpm” |
| DEB软件包 | 扩展名为“.deb” |
| 源代码软件包 | 一般为“.tar.gz”、“.tar.bz2”等格式的压缩包 包含程序的原始代码 |
| 绿色免安装的软件包 | 软件包的扩展名不一,以TarBall格式的居多 在压缩包内提供已编译好的执行程序文件 解开压缩包后的文件即可直接使用 |
RPM包管理工具
优点
1.统一的安装包格式
2.已经编译完成
3.使用简便
缺点
需要有依赖关系
查询
常用
rpm -q[子选项] 软件名
| 选项 | 功能效果 |
|---|---|
| -qa | 显示当前系统中以 RPM 方式安装的所有软件列表 |
| -q | 查询指定软件是否已安装 |
| -qi | 查看指定软件包的名称、版本、许可协议、用途描述等详细信息 |
| -ql | 显示指定的软件包在当前系统中安装的所有目录、文件列表 |
| -qc | 列出已安装的指定软件的配置文件 |
| -qd | 列出已安装的指定软件的软件包文档所在位置 |
| -qR | 列出已安装的指定软件的依赖的软件包及文件 |
| -qf | 查看指定的文件或目录是由哪个软件包所安装的 |
| -qpd | 查询未安装指定软件包的文档位置 |
| -qpi | 查询未安装指定软件包的完整名称详细信息 |
| -qpl | 查询未安装指定软件包的文件列表 |
| -qpc | 查询未安装指定软件包的配置文件位置 |
挂载
规则
- 一个挂载点同一时间只能挂载一个设备
- 一个挂载点同一时间挂载了多个设备,只能看到最后一个挂载设备的数据,其它设备上的数据将被隐藏
- 一个设备可以同时挂载到多个挂载点
- 通常挂载点一般是已存在空的目录
[root@localhost mnt]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
安装、卸载与升级
基本格式
rpm [选项] 软件包
| 选项 | 效果 |
|---|---|
| -i | 安装一个新的RPM软件包 |
| -U | 升级某个软件包,若未安装过则进行安装 |
| -F | 升级某个软件包,若未安装过则直接结束 |
| -h | 在安装或升级过程中已#号显示读条 |
| -v | 显示安装过程的详细信息 |
| --force | 强制安装某个软件包 |
| -e | 卸载指定的软件 |
| --nodeps | 在安装或升级、卸载一个软件包时,不检查与其他包的依赖关系 |
安装
[root@localhost Packages]# rpm -ivh httpd-2.4.6-67.el7.centos.x86_64.rpm
| 安装路径 | 含 义 |
|---|---|
| /etc/ | 配置文件安装目录 |
| /usr/bin/ | 可执行的命令安装目录 |
| /usr/lib/ | 程序所使用的函数库保存位置 |
| /usr/share/doc/ | 基本的软件使用手册保存位置 |
| /usr/share/man/ | 帮助文件保存位置 |
卸载
[root@localhost Packages]# rpm -e 软件名
升级
[root@localhost Packages]#rpm -U 软件名(需要升级包)
源码编译安装的过程
三步
一: ./configure (软件作者写的脚本)
-
可以更改你的安装路径,
-
选择你要安装软件的功能
-
检测你的安装环境
二: make (将源代码 编译成二进制语言,常见的编译软件 gcc gcc-c++)
三: make install (将二进制数据写入硬盘,安装进系统)
./configure
#环境检测
#安装到哪个目录
#添加或删除模块功能
--prefix=PATH //指定安装路径
make //编译 将人类的高级语言翻译成二进制
yum install gcc gcc-c++ apr*
make install //将二进制安装进硬盘
yum安装
搭建本地yum仓库
vim local.repo #写一个以repo 结尾的文件
[local] #仓库的名字,可以自定义
name=local #仓库的描述 自定义
baseurl=file:///mnt #服务器的位置
gpgcheck=0 #是否启用检查包的完整性