1 软件包管理简介
1.1 源码包(源代码包)
优点:开源,可以修改源代码。可以自由选择所需功能。软件是编译安装,编译环境和运行环境是同一个环境,所以更加适合自己的系统,运行更稳定高效。卸载方便,直接删除安装目录即可。
缺点:安装步骤繁琐。安装时间长,因为包含编译时间。
1.2 二进制包(RPM包、系统默认包)
优点:管理简单,安装速度快。
缺点:不可查看源代码,无法根据个人喜好选择软件的功能,依赖性,依赖其它程序
2 rpm命令管理
2.1 RPM包命名规则
RPM包在系统盘的Packages目录下。
2.1.1 命名规则:
httpd-2.2.15-15.el6.centos.1.i686.rpm
httpd 软件包名
2.2.15 软件版本
15 软件发布次数
el6.centos 适合的linux平台
i686 适合的硬件平台
rpm rpm包扩展名
2.1.2 RPM包依赖性
树形依赖:a->b->c 解决:安装顺序 c b a
环形依赖:a->b->c->a 解决:a b c 放一条命令里执行安装
模块依赖:模块依赖查询: www.rpmfind.net (库文件依赖)
2.2 安装命令
当然rpm命令的参数有很多,这里只记录了最基本的。
rpm -ivh 包全名
-i (install) 安装
-v (verbose) 显示详细信息
-h (hash) 显示进度
2.3 升级与卸载
rpm -Uvh 包全名 # 升级 upgrade
rpm -e 包名 # 删除卸载 erase
2.4 RPM包查询
2.4.1 查询是否安装某个包
rpm -q 包名 # query 查询是否安装
rpm -qa # query all 查询所有已安装的rpm包
2.4.2 查询软件包详细信息
rpm -qi 包名 # i information 查询已安装软件包的信息
rpm -qip 包全名 # p package 查询未安装软件包的信息
rpm -ql 包名 # l list 查询安装的软件包的路径
rpm -qf 系统文件名 # 查询某个文件属于哪个rpm包
2.5 RPM包校验(校验安装包是否被修改过)
rpm -v 已安装的包名
3 yum在线管理rpm包
yum源文件
vim /etc/yum.repos.d/CentOS-Base.repo
[base] 容器名称,一定要放在[ ]中
name 容器说明,可以随意定义
mirrorlist 镜像站点
baseurl yum源服务器地址,默认是CentOS官方的服务器,可以改成任意你喜欢的yum源服务器地址,比如163的yum源
enabled 1生效 0不生效
gpgcheck 1 rpm的数字证书生效,0不生效
gpgkey 数字证书的公钥文件保存位置
光盘本地yum源搭建
3.1 挂载光盘
mkdir /mnt/cdrom #建立挂载点 非固定格式根据实际情况
mount /dev/cdrom /mnt/cdrom #挂载光盘 非固定格式根据实际情况
3.2 使网络yum源失效 光盘yum源生效
把 CentOS-Base.repo重命名,使网络yum源失效
修改CentOS-Media.repo baseurl 选项配置为光盘挂载点,enabled改为1 使光盘yum源生效
常用yum命令
yum list # 查询所有可用软件包列表
yum search 关键字 #搜索和关键字相关的包
yum -y install 包名 # 安装 -install 安装 -y 自动回答yes
yum -y install gcc # 安装gcc c语言编译器,如果没有gcc则无法安装源码包
yum -y update 包名 #升级 不加包名会很危险慎用
yum -y remove 包名 # 卸载 慎用 有可能会卸载掉依赖导致系统崩溃
yum grouplist # 列出可用的软件组列表
yum groupinstall 软件组名 # 安装指定组软件
yum groupremove 软件组名 # 卸载指定软件组
4 源码包管理
安装准备
4.1 首先用yum安装gcc,用于源码包安装时编译源码
4.2 下载源码包(官网下载源码)
4.3 winSCP windows与linux传输文件(如果直接用要安装软件的linux电脑下载就不用传输了)
安装过程
4.4 解压
4.5 进入解压后的目录 配置软件 ./configure # 大多数情况下源码包都会带configure这样一个配置工具,具体使用方法可以vim查看其内容
4.6 make # 编译源码包 如果报错了 make clean 清除缓存重新 make
4.7 make install # 安装
源码包软件删除
直接删除安装目录即可
5 脚本安装包
其实没有什么脚本包,只是把一系列rpm包 或 源码包安装命令写入一个脚本统一安装。