软件安装包分类
- 源码包(可以直接读的原代码,功能可以自由定制)
- rpm包(也就是编译后的二进制包)
二进制包的优点:
- 包管理系统简单,只通过几个命令就可以实现包的安装、升级、查询和卸载
- 安装速度比源码包安装快的多
二进制包的缺点
- 经过编译,不再可以看到源代码
- 功能选择不如源代码灵活
- 依赖性
RPM包命令管里
- rpm包命名规则
 eg:httpd-2.2.15-15.el6.centos.1.i.686.rpm
 -httpd软件包名
 -2.2.15软件版本
 -15软件发布的次数
 -el6.centos适合的linux平台
 -i686适合的硬件平台
 -rpm:rpm包扩展名
- 安装命令 (rpm包安装依赖性太强,安装过于繁琐)
 rpm -ivh 包全名(linux中没有装过的软件包需要使用包全名和绝对路径)
 -i(install)安装
 -v(verbose)显示详细信息
 -h(hash)显示进度
 --nodeps不检测依赖性
- RPM包升级
 rmp -Uvh 包全名
 选项:-U(upgrade)升级
- 卸载
 rpm -e 包名(不需要路径,但是卸载也有依赖性)
- RPM包查询
 rpm -q 包名(q:query查询)
 rpm -qa (查询所有已经安装的rpm包,a:all)
- 查询软件包详细信息
 rpm -qi 包名
 选项:
 -i 表示查询软件信息(information)
 -p 表示查询软件的包或未安装包信息(package)
 eg: rpm -qip 包全名 查询未安装包信息
- 查询系统文件属于哪个RPM包
 rpm -qf 系统文件名(f:file)
 rpm -ql 包名 (查询文件位置)
- 
RPM包校验 
 rpm -V 已安装的包名(V:verify)
 校验时看文件是否被修改
  
- RPM包中文件提取
 rpm2cpio 包全名 | cpio -idv .文件绝对路径
 注释:rpm2cpio 将rpm包转换为cpio格式的命令
 cpio:是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
yum在线安装
- 查看yum源文件
vi /etc/yum.repos.d/CentOS-Base.repo
[base] 容器名称,一定要放在[]中
name 容器说明,可以自己随便写
mirrorlist 镜像站点,这个可以注释掉
baseurl 是yun源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的,如果你觉得慢的话可以改成你喜欢的yum源地址
enabled 此容器是否生效,如果不写或写成enabled=1都是生效,写成enabled=0就是不生效
gpgcheck 如果是1是指RPM的数字证书生效,如果是0则不生效
gpgkey 数字证书的公钥文件保存位置。不用修改
- (1)没网络的环境下,挂载光盘,本地安装
mkdir /mnt/cdrom  // 建立挂载点
mount /dev/cdrom /mnt/cdrom/   // 挂载光盘
- (2)使网络yum源失效
cd /etc/yum.repos.d/  // 进入yum源目录
mv CentOS-Base.repo CentOS-Base.bak  // 修改yum源文件后缀名,使其失效
- (3)使光盘yum源生效
vim CentOS-Media.repo

yum命令
常用yum命令
1)查询
yum list  // 查询所有可用软件包列表
yum search 关键字 // 搜索服务器上所有和关键字相关的包
2)安装
yum -y install 包名 // install表示安装, -y表示自动回答yes
eg:yum -y install gcc // 安装c语言编译器 ,要想识别c语言得先安装rpm包,才能安装源码包。
3)升级
yum -y update 包名 // update表示升级,一定要加包名,否则就会让整个服务器升级,linux内核升级后的新内核得人为重新配置才能使用。
- 卸载
yum -y remove 包名 // remove:卸载
yum软件组管理命令
yum grouplist // 列出所有可用的软件组列表
LANG=zh_CN.utf8 // 转为中文
LANG=en_US // 转为英文
- 安装指定软件组,组名可以由grouplist 查询出来
yum groupinstall 软件组名 // 软件组名一定要用英文
- 卸载指定软件组
yum groupremove 软件组名










