在Linux中软件包的安装
 
Linux操作系统又叫做GNU:Linux是由linux :kernel和GNU:SOURCE code 两部分组成,所以有很多的软件包,所以软件包的安装也非常重要了。
软件包:
   二进制文件
   配置文件
   库文件
   文档(man,info,/usr/share/doc
软件包的安装方式:
   1、手动编译安装源代码
   2、使用二进制格式的软件包
   rpm  解压直接使用    
  rmp 命名方式
name-version-Release.os.arch.rpm
Version:  版本号
Release:发行号
arch 平台
有的带有os
rpm 不能解决依赖关系
rpm 的 安装:
rmp  -i  path/to/rpm_package(必须有路径)
rmp -ivhv 显示进度)
   --nodeps 忽略依赖关系
   --force 也是强制安装
卸载:rpm -e name
    --nodeps 也是强制卸载
rpm 的升级:
rpm -Fvh  path/to/rpm_package 
    -Uvh   path/to/rpm_package 
路径也必须有
rpm 的 查询: 
rmp -q name
rpm -qa 所有的安装软件包
rpm -qa keyword (* ?)
rpm -qi name 显示软件包的相关介绍
rpm -ql name 详细列表。
rpm -qc 只显示配置文件
rpm -qd name 只显示文档
rpm -q --scripts  bash   软件包安装时执行了那些脚本
rpm -qf 用于查询文件是由哪个软件包安装的
rpm -q --changelog name 
不安装也可以查询: 在之前的命令中加个p
rpm 的 校验:  rpm –V
rpm -ivh kernel 内核不能升级只能安装。
rpm  重建数据库:
#rpm --initdb 如果损毁则修复
# rpm --rebuilddb重新生成
签名:
rpm --impot /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 导入公钥
 rpm -K
  --nodigest 不证md5
  --nosignature 不验证签名的
 
yum :
能自动解决依赖关系  
yum repository:支持三种服务:
ftp://
http://
file:///自己创建yum仓库
 
yum 客户端的配置文件由两部分组成:
1 /etc/yum.conf
2 /etc/yum.repos.d/*.repo
/etc/yum.conf[main]配置段 定义了全局属性
cachedir=/var/cache/yum放在一个缓存目录
keepcache=0
debuglevel=2
logfile=/var/log/yum.log日志位置
distroverpkg=redhat-release放行版
tolerant=1允许出错一个软件包没安装可以允许安装其他软件包的
exactarch=1精确匹配平台版本
obsoletes=1是否检查已经废弃的包子配置文件
gpgcheck=1安装之前是否检查软件的签名等于1表示检查
plugins=1启用插件与否
metadata_expir=1h 原数据的过期时间
/etc/yum.repos.d/server.repo中每个[]的表示yum源的识别符号
name= 用于指定yum源的完整名称
baseurl=    指定yum 源在什么地方baseurl=ftp://172.16.0.1/pub/Server
gpgcheck=0是否检查签名的0是不检查1是检查
enabled=0是不是启用这个yum源的默认是启用的不启用是0
 
yum 的有关的命令: 
 
yum list {all|installed|available|updates} 列出来系统上已经安装的软件包 globbing通配符
yum install package_name package_naem2安装
事务
yum remove|erase package_name1 package_name2
删除
yum update package_name1....
升级
yum check-update
用于查询哪些可升级的
yum info 显示摘要信息的
yum provies  查询文件是由哪个软件包生成的
yum downrade package_name1 表示降级软件包。
yum reinstall package_name1 重新安装
yum repolist all 显示所有的yum{all enabled disabled}
yum clean all 清除本地缓存[packages|headers|metadata|dbcache|all]
yum grouplist显示所有有关包组的信息
yum groupinstall "包组的名称,如果有空格必须用引号引起来"安装包组
yum groupremove "" 移除一个包组 包组的名称,如果有空格必须用引号引起来
yum groupinfo 查看一个包组的信息