第六章 软件包的安装
一、软件包的分类
1、软件包分类:源码包和二进制包
2、源码包:开放的源程序包
2.1、可自由选择所需要的功能
2.2、软件是编译安装,所以更加是适合自己的系统,更加稳定也下奥率更高
2.3、卸载方便
缺点:
1、安装过程步骤多,容易出现拼写错误
2、编译时间比二进制长
3、一旦报错,新手不容易掌握(建议使用谷歌)
3、二进制包
3.1、二进制包分类
1、DPKG包:是由Debian Linux编译安装 ,主要是ubuntu
2、RPM:是由Red Hat 主要是Centos、
3.2、特点
1、RPM:安装简单、速度快。但是不能看看到源代码、也不能选择所需要的功能
2、软件包选择建议:
源码包:如果服务是给大量客户端提供服务的,源码包使用效率更高
RPM:少量域用户使用,或者本地使用,建议RPM,因为管理方便
依赖性:
3.3、RPM包依赖
1、树形依赖:
2、环形依赖:
3、模块依赖:rpm -ivh mysql??????????.rpm .so.2点so数字结尾是函数=库
www.rpmfind.net (可以用yum在线安装)
二、RPM包手工安装(yum不需要手动解决依赖性)
1、命名规则:
httpd-2.2.15-15.e16.centos.1.i686.rpm (httpd软件包名。
2.2.15软版本,15发布次数,e16软件发行商,i686都可以安装)
包全名:如果操作的是未安装软件安装包,则使用包全名,而且需要绝对路径
包名:如果操作的是已经安装的安装包,则使用包名即可,系统会生成RPM包的数据库ls /var/lib/rpm
而且可以再任何路径下使用
3.2、安装
1、rpm -ivh 包全名
2、--prefiix:安装路径(建议不指定安装路径,默认位置就可以):rpm -ivh 包全名 --prefix=/usr/local/httpd
1、默认位置是系统的习惯位置
2、RPM包管理系统内是有卸载命令的(数据库记录安装位置)
3、--nodeps:不检测依赖性安装:(没啥用,但是在卸载的时候会用上)
4、--force:不管是否安装,都重新安装一遍
5、--test:测试安装,不会实际安装,只是检测一下依赖性
3.3、RPM包安装的
1、启动
1、service httpd restart(用netstat 查看80端口 可以直接访问主机的Ip,前提是setup关闭防火墙)
2、/etc/rc.d/init.d/httpd start/stop(标准方法)
cd /etc/rc.d/init.d就有httpd这个文件
2、网页位置 /var/www/html下 默认是index.html
3、配置文件 /etc/httpd/conf/httpd.conf
3.3、RPM升级
1、rpm -Uvh 包全名(升级+安装)
2、rpm -Fvh 包全名(必须有旧版本,才能升级)
3.4、rpm卸载
1、rpm -e 包名(初学者最好不用用yum卸载)
2、rpm --nodeps
3.5、查询
1、查询软件包是否安装
rpm -q 包名(-q query查询 :查询的是客户端 yum查询的是服务端)
查询系统中所有已安装的包
rpm -=qa(rpm -qa | wc -l总数)
(rpm -qa | grep httpd搜索阿帕奇)
2、查询软件包的详细信息()
rpm -qi 包名
查询未安装的软件包的信息
rpm -qip 包全名
*3、查询软件包中的文件列表
rpm -ql 包名
查询未安装的软件包以及打算安装的位置
rpm -qlp 包全名
4、查询系统文件属于哪个软件包
rpm -qf 系统文件名
5、查询包的依赖包(用处比较少)
rpm -qR 包全名
3.6、验证--MDS助手
1、基本命令
1、rpm -Va 验证本机已安装的所有软件包
2、rpm -V 已安装的包名 校验指定rpm包的文件
3、rpm -Vf 系统文件名 检验某个系统文件是否被修改
S M 5 D L U G
3.7、数据证书
如果rpm包首先就被修改过,那么3.6校验就不可能通过。所以需要首先安装数据证书
必须先自己写一个用户手册
1、数据证书位置
ll /mnt/cdrom/RPM-KEY-Centos-6
3.8、RPM中文件的提取(一般修改文件内容,一般需要备份,
例子一般是加一个.bak文件:cp /etc/a.txt /etc/a.txt.bak)
1、cpio -o[vcB] > [文件|设备] #备份(不建议实用这种方法做备份还原,但是rpm包只能用cpio进行提取)
cpio -i #还原
2、rpm2cpio 包全名 | cpio -idv .文件绝对路径
将rpm软件包格式修改为cpio
/mnt/cdrom/packages/httpd???????????
三、rpm在线安装(yum安装)
1、yum源文件解析 ls /etc/yum.repos.d/
2.、搭建本地光盘yum源
1、挂载光盘
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom/
2、修改其他地方的文件扩展名
cd /etc/yum.repos.d
mv Centos-Base.repo Centes-Base.repo.bak
mv Centos-Debuginfo.repo Centos-Debuginfo.repo.bak
mv Centos-Vault.repo CentOS-Vault.repo.bak
3、修改光盘
vim CentOS-Media.repo
baseur=file:///mnt/cdrom
#file:///media/cdrom
#file:///media/cdrecoder/ 注释
gpcheck=1
enable=1
yum list 查看是否搭建成功
3、yum命令
1、查询yum源的包
yum list
yum search (找关键字)
例子:yum search ifconfig(redhat7.0 之后需要手动安装才能实用这个命令)
yum info查看详细信息
2、安装
yum -y install 包名
例子:yum -y install gcc !!!!一定 要安装
3、升级
yum -y update 包名(不加包名升级所有软件包)
4、卸载
yum remove 包名
4、yum组管理命令
4.1、yum grouplist查询可用的软件包组
4.2、yum -y groupinstall 安装(用来装语言包)
四、源码包安装
1、常见问题
1、建议:如果是给大量的用户访问,建议实用源码包,效率更高
如果少量客户访问,建议实用rpm,因为rpm包简单
2、源码包来源:rpm光盘中直接包含,源码包的,源码包是网站下载,
3、源码包和rpm的安装位置不一样,源码包一般安装
在/usr/local(大部分基本上需要指定位置),rpm是默认位置
配置文件:/usr/local/apache2/conf/httpd.conf
网页文件:/usr/local/apache2/htdocs
日志文件:/usr/local/apache2/logs
启动方法:/usr/local/apache2/bin/apachectl start
4、无法同时安装两个apache,可以修改端口,但是大量客户访问的服务器不建议更改端口
如果服务是给内部人员实用,因为更加安全
2、安装过程
1、下载软件包
2、解压
3、进入解压目录
4、./configure --prefix= /usr/local/apache2/
编译前准备(1、检测安装是否负荷需求2、指定需要的功能选项
3、功能选项写入makefile)
源码包报错:
1、安装过程必须停止、
2、是否出现error、none、no、warning(实用的C语言安装,所以必须安装gcc)
如果报错,首先需要make clean
5、make 编译
6、make install 编译安装
3、删除,直接删除安装目录就行
(ps aux)
4、打入补丁
4.1补丁的产生
diff 选项 old new比较新旧文件的不同
4.2、打入补丁
patch -pn < 补丁文件(n为数字,可以从1一直试到4)