1.源码包和二进制RPM包
脚本安装包是将一系列的安装包(源码包或二进制包)用shell脚本的形式便于安装
2.rpm的命名规则
httpd-2.2.15-29.el6.centos.i686.rpm
httpd包名;2.2.15软件版本;29软件发布的次数;el6.centos适合的linux平台;i686适合的硬件平台,rpm扩展名
rpm依赖性:树形依赖,环形依赖,模块依赖 (也就是库文件依赖,以.os.数字结尾;可以查www.rpmfind.net),所以采用yum安装,yum就是rpm的在线安装,可以自动解决依赖性问题
3.rpm安装
rpm -ivh 包全名
-i(install) 安装
-v(verbose)显示详细信息
-h(hash)显示进度
--nodeps不检测依赖性(生产环境中是不允许使用的)
rpm升级
rpm -Uvh 包全名 (如果包安装了则升级,如果没有安装则安装)
-U(upgrade) 升级
rpm卸载 (RPM包没有指定安装位置,安装位置是由编写rpm包的人指定的,我们自己不能定义)
rpm -e 包名
-e (erase)卸载
--nodeps不检测依赖性(生产环境中是不允许使用的)
rpm包查询
yum只能使用安装和卸载,不能查询。
rpm -q 包名
-q (query)查询
rpm -qa 列出所有安装的rpm包
rpm -qi 包名
-i(information) 查询软件信息
-p(package) 查询未安装包信息
rpm -ql 包名 (查询已经安装的rpm的安装位置)
-l(list) 列表
-p(package) 查询未安装包信息
rpm包默认安装路径 (常规用法)
/etc/ 配置文件安装目录
/usr/bin 可执行的命令安装目录
/usr/lib 程序所使用的函数库保存位置
/usr/share/doc 基本的软件使用手册的保存位置
/usr/share/man 帮助文件保存位置
rpm -qf 系统文件名
-f (file) 反向查询某一个文件属于哪个安装包
rpm -qR 包名
-R (requires) 查询软件包的依赖性
-p(package) 查询未安装软件包的依赖性
rpm 包校验 包的文件是否有被修改
rpm -V 已经安装的包名
-V 校验指定RPM包中的文件(verify)
具体的符号解释如下:
RPM包中文件提取
rpm2cpio 包全名 | cpio -idv .文件绝对路径 (这里的.不能省略)
-rpm2cpio #将rpm包转换成cpio格式的命令
-cpio #是一个标准工具,它用于创建软件档案文件和从档案文件中提取文件
适用于文件被丢失后的恢复
yum在线安装
yum源文件的目录可以在/etc/yum.repos.d/CentOS-Base.repo的文件中配置的url。可以用国内的可用的url地址来替换(比如:163的yum源),以便快速访问
[base] 容器名称,一定放在[]中
name 容器说明 可以自己随便写
mirrorlist 镜像站点,这个可以注释掉
baseurl 我们的yum源服务器的地址,默认是CentOS官方的yum源服务器,
enabled 此容器是否生效,如果不写或者写成enabled=1都是生效,写成enabled=0 不生效
gpgcheck 如果是1是指rpm数字证书生效,如果是0则不生效
gpgkey 数字证书的公钥文件的保存位置,不用修改
光盘搭建本地yum源
1.挂载光盘
2.使网络yum源失效,(将/etc/yum.repos.d/CentOS-Base.repo重命名)
3.使光盘的yum源生效 (将/etc/yum.repos.d/CentOS-Media.repo)
修改baseurl修改为光盘挂载点,enabled=1
4.验证yum list
yum list #列出所有yum源中可供安装的软件包
yum search 关键字 #搜出服务器上所有和关键字相关的包
yum -y install 包名
install 安装
-y (yes)自动回答
yum -y update 包名 (在生产环境中升级要慎重)
这个命令慎用,如果后面不带包名,将会把linux中的所有的软件包包括内核都会升级。
yum -y remove 包名 卸载
服务器使用采用最小化安装,用什么软件安装什么,尽量不卸载(是因为依赖性的问题)
yum grouplist #列出所有可用的软件组列表
yum groupinstall 软件组名 #安装指定软件组,组名可以由grouplist查询出来
yum groupremove 软件组名 #卸载指定软件组