Linux源码包和二进制包安装教程

本文讲述怎么安装源码包,二进制软件包和rpm包。

一.源码包安装

源码包的制作可以参考教程:Linux源码包的制作教程

1.下载源码包并解压

1
2
3
4
5
6
7
8
#可使用 wget 命令“http:\\”直接下载到主机 或者其他方式上传源码包
#根据源码包的格式去解压
tar  -xvf *.tar  /tar -xvjf *tar.bz2 /unzip -o *.zip

em:
cd /root
scp root@10.0.8.116:/workspace/upgrade-maintain-patch.tgz /root/
tar -xvf upgrade-maintain-patch.tgz

2.进入源码包的目录解后压

1
2
3
4
cd 目录

em:
cd upgrade-maintain-patch

3.软件配置与软件,环境依赖检查

3.1.如果有configure

/configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系,生成makefile文件)

1
2
3
4
5
6
7
8
#生成makefile文件
./configure 
#或者 
.configure

#指定安装根目录
./configure --prefix=/usr/local/ 
#.--with指的是安装本文件所依赖的库文件。

3.2.如果有makefile,就直接make,然后make install

1
make && make install

3.3.默认安装目录

1
2
3
4
5
6
/usr/local 系统预设软件安装位置
/etc/  配置文件安装目录
/usr/sbin/   可执行的命令安装目录
/usr/lib/   程序使用的函数库保存位置
/usr/share/doc/  软件使用手册保存位置
/usr/share/man/  帮助文件保存位置

4.安装成功

make 是用来编译 它从Makefile中读取指令,然后编译。编译出错可以用make clean 清除编译过程文件 make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。只有在执行install的时候才会向指定的安装目录写入文件。

5.注意

安装过程报错 :编译配置过程停止并出现error warning no。一般Leaving directory…表示成功 源码包是没有卸载命令,直接执行rm命令卸载即可,没有垃圾残留

二.二进制软件包

二进制软件包的制作可以参考教程:Linux源码包的制作教程

一般情况下自制的软件包都有自定义的安装脚本,如果使用makefile配置的二进制软件包和源码安装步骤一致。

1.获取软件包并解压

1
2
#根据源码包的格式去解压
tar  -xvf *.tar  /tar -xvjf *tar.bz2 /unzip -o *.zip

2.执行命令安装

1
2
3
4
5
#如果存在configure,则按照软件方说明,进行使用
./configure

#如果存在makefile文件则,直接执行
make && make install

三.二进制包-rpm包安装

rpm打包可以参考教程:Linux二进制包(RPM包)制作教程(教程+资料+案例)

1) 安装

1
2
3
4
5
6
7
8
-i: 安装
-v: 显示安装过程
-vv: 显示安装详细过程
-h: 显示安装进度 
-U: 指定的安装包比已安装的安装包新或者未安装
-F: 指定的包比已安装的包新 --oldpackage 指定的包比已安装过的包旧
-ivh:安装显示安装进度--install--verbose--hash
-Uvh:升级软件包--Update;

2) 卸载

1
2
3
4
5
6
7
-e:删除包

-e 包名
rpm -e `rpm -q vsftpd` 
或
rpm -e vsftpd --allmatches 安装了多个版本的某个rpm可以一次性全部删除
--nodeps 删除时不检查依赖性关系

3) 查询

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
-q: 查询包是否安装
-qa: 查询已安装的所有包
-qf: 文件路径  查询指定的文件来源于哪一个rpm包
-ql: 包名 查询该包提供了哪些文件
-qp: rpm包 对未安装的包,指定rpm文件再配合其他查询子选项来进行各项查询操作
-q: --changelog 包名 查看更新日志
-qc: 包名 查看该软件包所提供的配置文件
-qd: 包名 查看该软件包所提供的文档文件
-qi: 包名 查看该软件包的详细信息
-q**: --scripts 查看安装前及安装后的脚本** 
-q: --provides 包名 查看一个软件包提供了哪些能力
-qR: 包名 查看一个软件包的运行所依赖的能力
-q: --whatprovides 能力名 查看一个能力由哪个包提供
-q: --whatrequires 能力名 查看一个能力依赖于哪些包
-qpl:列出RPM软件包内的文件信息[Query Package list];
-qpi:列出RPM软件包的描述信息[Query Package install package(s)];
-qf:查找指定文件属于哪个RPM软件包[Query File];

-Va:校验所有的RPM软件包,查找丢失的文件[View Lost]

4) 示例

1
2
3
4
5
6
7
>#rpm  -ivh  软件包全名          //安装软件
>#rpm  -q   软件包名(完整)    //query查看软件是否有安装
>#rpm  -e   软件包名 (完整)      //卸载软件
>#rpm  -ql  软件包名 (完整)      //query all  软件安装目录
>#rpm  -qa                      //query all  查看系统里边全部rpm方式安装的软件
>#rpm  -qa  |  grep ftpd(部分名字)          //模糊查找指定软件ftpd是否有安装
软件包全名 = 软件包名+软件版本+支持的系统+支持cpu型号+文件后缀