Linux下的软件形式
Linux上的软件有几种常见的方式
二进制发布包
软件包已经针对具体平台完成了编译和打包,解压后即可以使用,最多去改改配置文件,也是Linux上最通用和常见的软件包发布形式
例子:JDK软件,tomcat软件
rpm软件包
rpm软件包, 是按照redhat的包管理工具规范RPM进行打包后发布,通过rpm命令进行安装
Yum软件包
准确的说,并不存在YUM软件包这个东西;YUM是RPM软件包的一个管理工具,通过yum可以找到rpm软件包,并且yum能够帮我们自动下载,自动解决依赖关系,自动完成rpm软件包的安装;
YUM = rpm软件包的管理工具 = 查找/下载/安装/解决RPM软件包依赖关系
RPM软件包安装
rpm相关命令集合
# rpm -ivh abc.rpm 安装RPM软件包
-i, install -v, verbose information 打印安装信息,-h hash, 软件包解压后打印50个*
# rpm –ql abc 查看RPM软件包的安装位置,不带.rpm后缀
-q, query, -l, location
# rpm –e abc --nodeps 卸载已经安装的RPM软件包, 忽略已经在使用xxxx的软件
-e, erase 擦除, --nodeps, 忽略是否有其他软件会使用abc (默认会检查是否有其他软件会使用到abc, 并且会停止卸载,给出提示)
二进制软件包安装
二进制软件包的安装,非常简单,通过tar命令进行加压即可;
但一定要确保软件包是否和自己的平台对应: 64位一般是找X86_64的二进制软件包
# tar -xzvf abc.bin.tar.gz 解压并解包,会在当前目录下生成abc/目录
yum自动下载并安装rpm软件包
Yum, 是Redhat,CentOS, Fedora, SUSE上提供的一个软件包管理工具
能够从指定的服务器 ,自动下载RPM软件包(自动解析依赖关系,自动下载所有的依赖包),并进行软件安装;
指定的服务器可以修改为:本地的文件目录,内网中的某个web服务器,修改本机/etc/yum.repos.d/下的.repo配置文件就可以实现
Yum命令通用格式
# yum [option] command package …..
*option: 可选, -h 帮助, -q 不显示安装过程, -y 安装过程中的选择, 全部yes等
*command: 进行什么操作, list/update/install/remove/search/clean packages等
*package: 要操作的对象
常用yum命令
# yum list 从*仓库查找并列出所有可安装软件
# yum list | grep ssh 从所有可安装软件中进行过滤
# yum search ssh 从*仓库查找是否有该软件包
# yum check-update 列出所有可更新的软件,包括yum自己
# yum update 更新所有软件,包括yum自己
# yum update ssh 更新指定软件
# yum install ssh 下载所有依赖包,并进行下载
# yum remove ssh 卸载给定软件
# yum clean packages 清除本地缓存中的软件包
# yum clean all 清除本地缓存中的所有内容 修改yum源的配置文件后,需要这个
4、源码编译并安装
以redis为例,解压后进入redis文件夹
# make 自动读取MAKEFILE,将src下的所有源码进行编译
1/如果报错提示缺少gcc, 则安装gcc: yum list | grep gcc yum install gcc_x86_64
2/如果报错提示:Newer version of jemalloc required, 则在make时加参数:
make MALLOC=libc
指定目录,进行编译后的软件安装 make install
# make PREFIX=/usr/local/redis install
拷贝一份配置文件到安装目录下
切换到源码目录,将redis.conf, 拷贝到安装目录下
# cp redis.conf /usr/local/redis/