今天给大家带来的是rpm包的管理和yum的应用。(介绍的比较简单,高手勿喷)
用rpm命令管理包
rpm命令是RPM软件包的管理工具。rpm: redhat package manager or RPM is Package Managerpm .原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度,获取rpm包途径:1、发行版提供的程序包;2、Fedora-EPEL 3、项目的官方站点 4、搜索引擎如http://rpmfind.net、http://rpm.pbone.net、http://pkgs.org。
rpm命令语法:rpm {-i|--install} [install-options] PACKAGE_FILE ...
安装选项
-i:显示相关信息
-v:显示详细过程,-vv, -vvv
-h:用“#”显示安装过程。
升级选项
-Uvh: 如果有旧版程序包,则升级之;如果没有,则安装之;
-Fvh: 如果有旧版程序包,则升级之;如果没有,则不安装;
--nodeps忽略依赖关系。
--oldpackage:降级;
--force:强制安装。
安装php-mysql 的时候提示需要php-common的包
加上--nodeps 直接忽略依赖安装php-mysql,虽然安装了,但是提示可能这个包工作不正常。
rpm {-e|--erase} [--nodeps] [--noscripts] [--notriggers] [--test] PACKAGE_NAME ...
我再把刚才安装的包卸载了,由于有依赖还要加忽略--nodeps选项,没有提示就是成功卸载。
查询已经安装的包选项:
-qa: 查询本机已经安装的所有程序包;
-qf /PATH/TO/SOMEFILE: 查询此处的文件由哪个程序包安装生成;
-qc: 查询指定程序包安装生成的配置文件
-qd: 查询指定的程序包安装生成的文档
-qi: 查询指定的程序包的相关信息;
-ql: 查询程序包安装生成的所有文件的列表;
-q --scripts:查询程序包相关的脚本:
preinstall: 安装前脚本
postinstall:安装后脚本
preuninstall: 卸载前脚本
postuninstall: 卸载后脚本
查询选项加-p: 查询针对是未安装的程序包文件;
验证包的完整性需要导入:
导入密钥:rpm --import /PATH/TO/KEY_FILE
YUM的介绍:
YUM: Yellowdog Updater Modified ,yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装
yum程序的配置文件: /etc/yum.conf
[main] cachedir=/var/cache/yum/$basearch/$releasever #yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。 keepcache=0 //安装完成后是否保留软件包,0为不保留(默认为0),1为保留 debuglevel=2 //除错级别,0──10,默认是2 logfile=/var/log/yum.log #日志文件 exactarch=1 //有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用1686的包来升级 obsoletes=1 //这是一个update 的参数,具体请参阅yum(8),简单的说就是相当于upgrade,允许更新陈旧的RPM包。 gpgcheck=1 //有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。 plugins=1 //是否启用插件,默认1为允许,0表示不允许。我们一般会用yum-fastestmirror这个插件。 installonly_limit=5 bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum distroverpkg=centos-releas
yum.repos.d 目录下面.repo结尾的文件都是配置文件。
[base] #起一个仓库的名字唯一 name=CentOS-$releasever - Base #一个别名描述 mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #镜像的方式指定文件服务器从那里来获取包的信息,有两个变量$releasever: 引用当前系统的主版本号;$basearch: 当前系统的基本架构:i386, i486, i586, i686: i386 #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ #网页的方式指定文件服务器从那里来获取包的信息 http://mirror.centos.org/centos/$releasever/os/$basearch #多个这样写。 ftp://hostname/PATH/TO/REPO #支持FTP file:///PATH/TO/REPO #本机,本地 gpgcheck=1 #验证,校验 0是关闭 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 # 校验的文件
yum命令语法:
yum [options] [command] [package ...]
命令选项:
yum install #全部安装
yum install package1 #安装指定的安装包package1
yum groupinsall group1 #安装程序组group1
yum update #全部更新
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1
yum info package1 #显示安装包信息package1
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息
yum search string 根据关键字string查找安装包
yum remove | erase package1 #删除程序包package1
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
yum命令升级安装http服务:
yum不能运行两个,会出现下面的情况。
介绍的比较简单,高手勿喷。
原文地址:http://shaonian.blog.51cto.com/2975261/1694140