软件包分类
包括源码包以及RPM包
源码包
优点 可以修改源代码 可以自由选择所需功能 编译安装,稳定高效 卸载方便 缺点 安装复杂,编译时间长 不能使用service命令来启动服务,只能用绝对路径进行服务管理
RPM包
优点 安装升级卸载简单 安装速度快 可以使用系统服务管理命令 比如/etc/rc.d/init.d/http start或service httpd start启动http服务 缺点 不能看到源代码 功能选择不灵活 安装依赖多
RPM包管理
rpm包命名规则
httpd-2.2.15-15.el6.centos.1.i686.rpm
http软件包名 2.2.15软件版本 15软件版本发布次数 el6.centos适合的linux平台 i686适合的硬件平台 rpm包扩展名
安装路径
安装路径由rpm包作者指定,默认安装路径如下
/etc/配置文件安装目录
/usr/bin 可执行命令安装目录
/usr/lib 程序所使用的函数库保存位置
/usr/share/doc 基本的软件使用手册保存位置
/usr/share/man帮助文件保存位置
rpm命令
操作的包是没有安装的软件包时,使用包全名(安装,升级)操作已经安装的包时,使用包名(卸载,查询)
安装 rpm -ivh 包全名 安装包(安装时如果提示依赖其他的包,则将其他的包下载下来,同时安装即可) 升级 rpm -Uvh 包全名或包的位置 升级包 rpm -Uvh vim-common-7.2.411-1.fc12.x86_64.rpm http://mirrors.usc.edu/pub/linux/distributions/fedora/linux/updates/12/x86_64/vim-minimal-7.2.411-1.fc12.x86_64.rpm 同时升级这两个包,一个使用已经下载好的,一个是包的存储位置 卸载 rpm -e 包名 卸载包(如果被卸载的包被其他包依赖,则卸载失败) 查询 rpm -q 包名 查询包是否安装(也可以先查出所有已经安装的包,再过滤有没有需要的包) rpm -qa 查询所有已经安装的包 eg rpm -qa|grep "mysql"(常用此种方式查询包是否安装) rpm -qi 包名 查软件信息 rpm -qlp 包全名 查询未安装包信息 rpm -ql 包名 查询包的安装位置 rpm -qf 系统文件名 查询系统文件属于哪个rpm包(通过rpm包安装产生的) rpm -qR 包名 查询软件包依赖哪些东西
yum命令
yum从yum源处获得rpm包,yum源配置信息默认在/etc/yum.repos.d/,可以在/etc/yum.conf中指定其他位置
yum相比rpm命令更智能,安装时可以自动解决包依赖,卸载时自动处理包依赖
查询 yum list 查询所有可用软件包列表 yum list installed 查询所有已经安装的包 yum list 包名 查询包的信息 yum info 包名 查询包的详细信息 yum search 关键字 查询服务器上所有和关键字相关的包 yum repolist 显示所有yum源 yum repolist enabled 显示所有启用的yum源 yum localinstall 包名 添加yum源 eg yum localinstall mysql-community-release-el6-5.noarch.rpm 安装 yum -y install 包名 重新安装 yum reinstall 包名 升级 yum -y update 包名 卸载 yum -y remove 包名 添加rpm包到yum源 以升级mysq为例 yum list installed | grep mysql yum -y remove mysql-libs.x86_64 wget dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm 手动下载rpm包 yum localinstall mysql-community-release-el6-5.noarch.rpm 添加到yum yum repolist all | grep mysql yum-config-manager --disable mysql55-community yum-config-manager --disable mysql56-community yum-config-manager --enable mysql57-community-dmr//使5.7版本生效 yum repolist enabled | grep mysql yum install mysql-community-server
源码包
源码包可以安装在指定位置,一般是/usr/local/包名/ ,源码包存放位置一般是/usr/local/src
安装 解压缩安装包 进入包目录 ./configure (可以使用--prefix指定安装目录,比如--prrefix=/usr/local/apache2) make 编译 (如果./configure或make失败,可以执行make clean清除缓存文件) make install 安装 卸载 直接删除安装目录即可
参考
Linux之yum
RPM和YUM包管理