软件包管理
Linux两大系列的区别——软件包管理不同:Redhat系列rpm/yum,Debian系列apt-get/dpkg
CentOS属于Redhat系列,本节只介绍rpm和yum等软件包管理方式
一 软件包分类:
二进制(rpm)包
特点:安装速度快 简易
缺点:自定义性差 依赖性
a---->b---->c 树形依赖(http安装的例子)
a---b---c---a 环形依赖
源码包
由软件开发源码组成,安装时需要编译工具如gcc、gcc-c++等
优点:特点、开源、定制
缺点:安装时间长,一旦报错,不易解决
另:脚本安装包
shell脚本编写的安装包,实际内容依然是两种基本的安装方式,安装过程可以交互。
二 二进制(rpm)包的管理
(一) rpm管理工具
1 软件包命名
包名-版本号-发布次数-适合linux系统-硬件平台.rpm
包全名:操作没有安装的软件包,软件包使用包全名
包 名:操作的是已经安装的软件,软件包使用包名
2 安装及升级
rpm -ivh 包全名(绝对路径,一般在光盘的软件包目录中)
-i 安装
-v 显示详细信息
-h 显示进度
rpm -Uvh 包全名 提前下载好高版本的软件包
-U 升级
3 卸载
rpm -e 包名 如有依赖卸载失败
--nodeps 不检查依赖性,强卸!
4 查询
rpm -q 包名 查询包是否安装
rpm -qa | grep httpd 显示所有安装包
rpm -qi 包名 查询包的信息 -p 未安装包
rpm -qip 包全名 查询没有安装包的信息
-i information
rpm -ql 包名 查询包中文件的安装位置
rpm -qlp 包全名 查询没有安装的包,打算安装位置
-l list
rpm -qf 系统文件名 查询系统文件属于哪个包
实验:安装httpd并手动解除依赖关系,安装后启动测试安装结果。
service httpd restart|start|stop|status
(二) yum在线管理工具
yum相对于rpm管理工具的优势:
yum可以在线安装升级,使用CentOS提供的网络站点下载所需软件包。
yum可以自动解除软件包之间的依赖关系,方便安装卸载
1 安装
yum -y install 包名
-y 自动回答yes
2 卸载
yum -y remove 包名
3 升级(有网)
yum -y update 包名
4 查看
yum list 查询所有可以安装的包
yuminfo 包名
如果没有网络,yum管理工具可以将多媒体软件库作为yum源(池),继续完成软件管理。
yum默认将/etc/yum.repo.d/CentOS-base.repo文件作为第一yum源配置文件,此文件描述了网络站点的下载地址,如果此文件存在,则继续上网安装,断网时会安装失败。需要将yum源切换为光盘的多媒体文件中去。
将光盘作为yum源(以下步骤顺序部分先后):
1 修改yum源配置文件
mv /etc/yum.repo.d/CentOS-Base.repo /root/
剪切或改名皆可,只要在原位置无同名配置文件即可。
2 挂载使用光盘
mount/dev/cdrom /mnt/cdrom
3 修改Media配置文件,指定yum源为挂载点
vi /etc/yum.repos.d/CentOS-Media.repo
#修改开始#
mnt/cdrom/指定yum源位置
enabled=1 源文件生效
gpgcheck=1 rpm验证不生效
#修改结束#
测试安装
yum -y install gcc (gcc是c语言编译器,不装gcc,源码包不能安装)
安装软件包8个自动解除依赖关系。
三 源码包安装
1 上传软件包
使用winscp等工具远程连接Linux,上传所需软件包
实例:上传httpd(apache)软件包至家目录
2 安装(重点)
1)解压
tar-xf包文件
2)cd 解压目录
进入解压文件目录
3) 查看安装文档
INSTALL README
4)检测
./configure --prefix=/usr/local/apache2
功能:
1 检测系统环境,生成Makefile
2 定义软件选项
--prefix 指定软件安装目录
5) 编译
make
若编译失败使用make clean清除编译文件
6)安装
make install
报错判断:
第一:安装过程是否停止
第二:停止处是否出现 error warning no 等错误报警
3 启动
/usr/local/apache2/bin/apachectl start
源码包的启动脚本大多存在于安装目录下
提示:httpd: Could not reliably determine theserver's fully qualified domain name, using localhost.localdomain forServerName
将配置文件的ServerName行注释取消后pkill httpd即可,并非报错!!!
4 卸载
直接删除安装目录
rm -rf /usr/local/apache2/
四 脚本安装
有提示一步步的跟着执行。
实例:webmin安装