Linux(centos)安装软件的几种方式

方式 特点
rpm包安装 安装路径固定 依赖难处理
yum安装 自动下载安装管理依赖
源码编译安装 灵活 步骤麻烦
二进制包解压安装 简单 解压可用

rpm包安装

rpm RPM Package Manager 用来安装 升级 卸载软件

[root@centos76 ~]# rpm -qa tree
tree-1.6.0-10.el7.x86_64

软件包名称格式

tree-1.6.0-10.el7.x86_64.rpm
tree 软件包名子
1.6.0 发布版本
10 发布次数
el7 系统版本
x86_64 硬件平台
rpm 扩展名

rpm包获取方式

  • centos镜像文件自带
  • 特定软件网站官网
  • 官方或者镜像站

rpm命令

rpm [选项] [软件包名称]

  • -i 安装rpm
  • -v 显示安装详细i西南西
  • -h 显示安装进度
  • -U 升级
    安装
# 下载并安装nginx
[root@centos76 src]# cd /usr/src/
[root@centos76 src]# wget http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.19.9-1.el7.ngx.x86_64.rpm

[root@centos76 src]# rpm -ivh nginx-1.19.9-1.el7.ngx.x86_64.rpm 
 

更新 不建议更新 建议先卸载后安装

# 下载并更新nginx
[root@centos76 src]# cd /usr/src/
[root@centos76 src]# wget http://nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.21.6-1.el7.ngx.x86_64.rpm
[root@centos76 src]# nginx -v
nginx version: nginx/1.19.9
[root@centos76 src]# rpm -Uvh nginx-1.21.6-1.el7.ngx.x86_64.rpm 
[root@centos76 src]# nginx -v
nginx version: nginx/1.21.6

查询

  • -q 查询
  • -a 全部
  • -i 配合q查询软件包的详细信息
  • -c 配合q查询软件包的配置文件
  • -l 配合q查询软件包安装的目录文件
  • -f 配合q查询文件属于哪个软件包
[root@centos76 ~]# rpm -qa tree
tree-1.6.0-10.el7.x86_64
[root@centos76 ~]# rpm -qa nginx
nginx-1.19.9-1.el7.ngx.x86_64
[root@centos76 ~]# rpm -qf /etc/hosts
setup-2.8.71-10.el7.noarch
[root@centos76 ~]# rpm -qf /etc/sysconfig/network-scripts/ifcfg-ens33 
文件 /etc/sysconfig/network-scripts/ifcfg-ens33 不属于任何软件包
# 由此可知 cd是bash的内置命令
[root@centos76 ~]# rpm -qf `which cd`
bash-4.2.46-31.el7.x86_64
[root@centos76 ~]# rpm -qf `which ip`
iproute-4.11.0-14.el7.x86_64

卸载

  • -e 卸载
  • --force 强制
  • --nodeps 忽略依赖
[root@centos76 ~]# rpm -qa nginx
nginx-1.19.9-1.el7.ngx.x86_64
[root@centos76 ~]# rpm -e nginx

缺点

  • 安装的时候需要解决依赖问题 所以基本不用它来安装 常用来做查询

yum安装

通过互联网下载rpm包并且安装 并自动处理依赖关系

yum源

yum源是下载rpm包的地址

  • 互联网yum源 阿里 网易 清华
  • 局域网yum源 速度快 可以自己制作rpm
  • 本地yum源 把iso作为yum源
    常用互联网yum源
  • base 官方
  • epel 扩展源
# 修改base源为阿里云
cd /etc/yum.repos.d
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
# 安装扩展源
yum install epel-release
yum list | grep epel-release
# 阿里云的扩展源 
wget -O /etc/yum.repos.d/epel-7.repo http://mirrors.aliyun.com/repo/epel-7.repo

yum命令

yum [options] COMMAND

  • yum list 展示所有源的所有包 也可以直接跟上包名过滤 不需要 grep
    • yum list tree
  • yum info tree
  • yum -y install tree 安装tree
  • yum -y install sl
  • yum remove sl 卸载
  • yum repolist 查看yum源
  • yum provides 查看命令是由哪个软件包提供的

源码编译安装

  • 优点
    • 可以自行修改源代码
    • 可以定制需要的相关功能
    • 灵活 强大
  • 缺点
    • 相对于yum安装比较复杂
    • 标准化实施困难 自动化运维复杂

安装步骤

  • 下载解压
  • ./configure配置 设置安装目录 安装模块等 生成makefile
  • make编译 将makefile生成可执行的二进制文件
  • make install 复制二进制文件到相应的系统路径 配置应用环境
# 依赖包
yum install pcre pcre-devel zlib zlib-devel -y
# 下载解压
wget https://nginx.org/download/nginx-1.20.2.tar.gz
tar -xf nginx-1.20.2.tar.gz
# 配置
cd nginx-1.20.2
./configure 
# 编译
make
# 安装
make install

二进制包解压安装

所谓二进制包 就是别人已经编译好的二进制文件 配置文件 和其他文件组成的包
只需要下载解压后即可使用

你可能感兴趣的:(Linux(centos)安装软件的几种方式)