1、概述前端
如今Linux上软件的安装方式有多种,有源码包编译,软件包管理器,软件包管理器前端工具,通用二进制编译等。源码包,优势是,灵活性和可定制性比较好,缺点是,技术要求高,操做复杂,虽然网上有编译安装软件的文档,也有不少人在使用,也都是默认或者简单配置后编译的。后来出了软件包管理工具RPM,RPM软件包管理软件方便多了可是它的依赖关系让人头疼,因此又推出出了YUM解决了让人头疼的依赖关系。在这里我给你们介绍一下几种经常使用Linux软件安装方式。node
2、软件包的组成数据库
一个软件包安装以后包含多种类型文件,咱们先了解一下它的组成与分布的位置缓存
一、二进制文件ide
分布的目录:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin工具
二、库文件post
分布目录: /lib, /usr/lib, /usr/local/lib 测试
三、配置文件ui
分布目录: /etcthis
四、帮助文件(一般这里会教你如何进行安装)
手册:README INSTALL /usr/share/doc
3、程序安装方式
一、通用二进制编译:别人编译好的,解压以后配置就能使用。
这里着重说一下源码包安装,因为一些特殊的个性化设置,咱们须要源码包安装一个服务,我以为它的基本思路就是遇到问题解决问题,当咱们源码包安装一个服务时,最多见的问题就是缺乏基础程序,也就是库文件(devel包),这时咱们经过yum逐条击破安装,直到服务安装成功便可(不在报错)
源码包安装的基本流程:解压→进入目录→./configure --prefix=本身定义的安装路径(这个时候一般就是以前说的遇到问题的时候,提示缺乏环境、依赖关系,用yum逐条安装便可)→make→make install
4、RPM软件包管理工具
一、基本功能:
打包、安装、查询升级、校验、写在、数据管理(重建)
二、rpm软件包包含:
文件清单、文件存放路径、提供的功能说明、依赖关系
三、数据库:软件包信息,软件包校验
四、源程序命名方式:
注意:下载软件包时要注意区分操做系统和平台,否则可能会装不上的
六、rpm分包
七、经常使用软件包下载地址:
-i|–install :安装一个新的软件包
-v :显示安装过程,-vv显示更详细的安装过程
# yum主配置文件详解 #/etc/yum.conf #[main] //定义yum源名称 #cachedir=/var/cache/yum //定义yum的缓存目录 #keepcache=0 //保存缓存 #debuglevel=2 //调试级别 #logfile=/var/log/yum.log //日志文件所在目录 #distroverpkg=redhat-release //验证rpm发行版所使用的密钥文件 #tolerant=1 //忽略已安装的软件 #exactarch=1 //必须作平台的精确匹配 #obsoletes=1 //是否检查废弃的包 #gpgcheck=1 //是否检查rpm包的签名,验证rpm包来源的合法性 #plugins=1 //是否启用插件 # Note: yum-RHN-plugin doesn't honor this. #metadata_expire=1h //缓存文件在本地缓存多长时间
#配置文件 /etc/yum.repos.d/*.repo详解 #[repo] #name=Primary Yum repository #baseurl=http://mirror.sohu.com/fedora-epel/6/i386/ //yum源网址 #enabled={0|1} //{不开启|开启} #gpgcheck={0|1} //{不检查|检查签名} #gpgkey=file:///etc/pki/RPM-GPG-KEY-redhat-base //指定验证用的密钥文件
四、经常使用的yum命令
//查询、清除创建缓存 #yum list {all|installed|available} :列出软件包 {全部|已安装|可安装} #yum repolist {all|enabled|disabled} :列出yum源 {全部|开启的|未开启的} #yum clean all :清除yum缓存 #yum makecache :生成yun缓存 //安装 #yum install package_name :安装软件包,添加 -y能够自动回答yes #yum reinstall package_name … :从新安装软件包 #yum groupinstall "package-group_name" :安装一个包组 //升级 #yum update package_name :升级软件包 #yum check-update :查询可升级的包 #yum update-to :升级到指定的版本 #yum groupupdate "group_name" :升级包组 //卸载 #yum remove package_name … :卸载一个软件包 #yum groupremove "group_name" :卸载一个包组