Linux上软件安装
环境:centos7
rpm 包仓库:https://pkgs.org/ 上面能查找到所有的rpm包,及依赖关系
一、rpm包和源码包
windows上软件安装是靠下载安装程序执行实现的。linux上安装软件要下载相应的包(源码包,rpm包),不同的包安装方式不同
(1) rpm 包
1. 包的命名格式
2. 包的安装方式:使用rpm,yum工具安装
3. 包的特点:
a.依赖性:http://www.rpmfind.net 网址可查找文件所依赖的包
树形依赖:a>b>c>d
环形依赖:a>b>c>d>a
模块依赖:
b.是编译过的二进制文件
优点:1 安装速度快 2 包管理系统简单
缺点:1 不能看到源代码 2 功能选择不灵活 3 有依赖性问题
c. 安装位置
/etc/ 配置文件
/usr/bin/ 命令
/usr/lib/ 函数库
/usr/share/doc/ 使用手册
/usr/share/man/ 帮助文档
(2)源码包
1. 包的命名格式: php-7.2.24.tar.gz
2. 包的安装方式
a.解压
xxx.tar.gz tar -zxvf 包名
xxx.tar.bz2 tar -jxvf 包名
b.配置
进入解压目录,configure命令配置
c.编译
make make test make clean make distclean
d.安装
make install
3. 包的特点
优点:1 开源,可以自行2次开发 2 可以自由选择所需的功能 3 软件是编译安装,兼容性更好 4 自己指定安装位置,卸载方便
缺点:1 安装时间长 2 安装步骤复杂 3 一旦报错,处理麻烦
安装位置任意指定,但有惯例:
--prefix=/usr/local/xxx
配置文件:/etc/xxx/
命令文件:/usr/sbin/或/usr/bin
日志: /var/log
二、rpm工具命令
简介:RedHat Package Manager(RedHat软件包管理工具)
1. 包安装,升级,卸载
rpm -ivh 包全名 #安装软件包
rpm -Uvh 包名 #升级
rpm -e 包名 #卸载
2. 包查询
rpm -qi 包(全)名 #查看包信息
rpm -ql 包(全)名 #查看包文件列表
rpm -qa 包名 #查看所有已安装的包
rpm -qf 文件名 #查看文件(命令)属于哪个包
3. 包依赖性检查
rpm -qR 包名 #查询已安装包的依赖性
rpm -qRp 包全名 #查询未安装包的依赖性
4. 包中文件提取(用于误删文件后恢复)
rpm2cpio 包全名 | cpio -idv .文件名 #提取到当前文件夹
5. 包校检
三、yum工具命令
(1)简介:yum( Yellow dog Updater, Modified)在线RPM包管理工具,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,
无须繁琐地一次次下载、安装。
(2)常用命令
1. 更新,安装,卸载
yum check-update #列出所有可更新软件
yum -y update #更新所有软件
yum -y -install 包名 #安装
yum -remove 包名 #卸载
yum -y update 包名 #更新指定包
2. 查找
yum list #列出所有可安装包
yum serach 关键字 #查找带关键字的软件包
yum provides 文件名 #查询文件属于哪个包
(3)yum源
更换国内yum源可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。步骤如下:
1.备份原有yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2. 下载国内yum源(网易)
地址:http://mirrors.163.com/.help/CentOS7-Base-163.repo
weget http://mirrors.163.com/.help/CentOS7-Base-163.repo
mv CentOS6-Base-163.repo CentOS-Base.repo
3. 清除yum缓存,并重新生成
yum clean all
yum make cache