Linux——软件安装

概述

RPM包

RPM包是什么

RPM包管理器全称是Red Hat Package Manager,RPM是一个递归缩写,由Red Hat 公司推出被众多Linux发行版所采用。
RPM包也叫做二进制包(由01组成,计算机可以直接读取),无需编译,可以直接使用。

  • 优点: RPM包的下载速度很快
  • 缺点:无法个人设置一些信息,无法设置开关功能。

认识RPM包

几个rpm包实示例:

zip-3.0-11.el7.x86_64.rpm
wget-1.14-15.el7x86_64.rpm
tcpdump-4.9.0-5.el7.x86_64.rpm

zip-3.0-11.el7.x86_64.rpm为例:

  • zip: 软件包名
  • 3.0-11:版本号
  • el7:发布平台,该包发布在哪个平台使用的。 el7表示企业版Linux7
  • x86_64: 系统平台32或64位
  • rpm:文件后缀

源码包

源码包是什么

源码包就是编程人员可读的包,源码包需要经过C++等编译环境才能运行。编译就是将高级语言转换成计算机可读的(01)内容。

  • 优点:可以自己设置一些信息,可以设置开关功能
  • 缺点:配置复杂

认识源码包

nginx-1.8.1.tar.gz

nginx:包名
1.8.1:包的版本

RPM包管理

YUM工具

简介

Yum(全称为Yellow dog Updater, Modified ),是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器

  • 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装
  • 可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

YUM本地源(使用系统安装光盘)

YUM本地源就是使用本地地址配置yum包的下载地址。
设置YUM本地源的目的是:

  • 通知inux服务器,通过本机的系统光盘获得软件包,并安装软件。

优点是:

  • 通过本地源下载,无需联网也能下载包

配置YUM本地源 — 使用本地下载

1. yum的核心配置目录

yum的核心配置目录是/etc/yum.repos.d

[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  CentOS-x86_64-kernel.repo

/etc/yum.repos.d目录下的文件yum配置的各种下载地址文件,其中最基本的配置文件就是CentOS-Base.repo
eg:

[root@localhost ~]# cat /etc/yum.repos.d/CentOS-Base.repo 
...
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

mirrorlist镜像地址,也就是包的下载地址。

2. 删除官方下载地址

包的官方的下载地址的节点在国外,下载速度慢,可以对下载地址进行修改,首先要删除默认下载地址。

rm -rf /etc/yum.repos.d/*
3. 编写本机yum库配置文件

/etc/yum.repos.d/文件夹下配置后缀名为.repo的配置文件。(文件名不限制,所以可以有多个配置文件)

[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
[dvd]
name=dvd
baseUrl=file:///mnt/cdrom
gpgcheck=0
enabled=1

– [dvd]:中括号里面一般指的是仓库的名称
– name=dvd:一般是对仓库的描述信息
– baseUrl:包的的下载地址(可以是本地也可以是远程)
– gpgcheck:包校验,0是关闭校验
– enabled:表示开启此配置库,使用该yum源。1是开启,0是关闭。默认是1。
一个配置文件里能够配置多个name,baseUrl;同时可以设置是否使用该配置库,就是通过enabled配置项进行配置。

有的时候修改完yum的配置文件不起作用,这种情况我们重启下yum就可以了。

yum makecache
4. 挂载安装光盘

上述文件配置得下载地址是file:///mnt/cdrom我们需要手动配置下。

  • 插光盘:
    光盘使用的是镜像文件,镜像文件里面包含可供下载的包。
    在这里插入图片描述
    开启电源:
    在这里插入图片描述

  • 准备一个文件夹挂载光驱(光盘):mkdir /mnt/cdrom

  • 光盘所在的位置是:/dev/cdrom

  • 挂载光盘:
    光盘是带有数据的盘,所以他已经进行了分区格式化,直接挂载就行。
    挂载命令:mount /dev/cdrom /mnt/cdrom/

    [root@localhost ~]# mount /dev/cdrom /mnt/cdrom
    mount: /dev/sr0 写保护,将以只读方式挂载
    [root@localhost ~]# ls /mnt/cdrom
    CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
    EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
    

    挂载完之后/mnt/cdrom文件夹下就会有很多内容,其中Packages文件夹下都是可下载的rpm包。

    [root@localhost ~]# ls /mnt/cdrom/Packages/ | wc -l
    4071
    

    总共有4071个包。

    有个问题是挂载状态在计算机重启之后会消失。所以我们需要将挂载命令mount /dev/cdrom /mnt/cdrom写在一个计算机启动时一定会执行的文件中,如/root/.bashrc

    [root@localhost ~]# vim /root/.bashrc
    
    # .bashrc
    mount /dev/cdrom /mnt/cdrom
    
    # User specific aliases and functions
    
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    
    # Source global definitions
    if [ -f /etc/bashrc ]; then
            . /etc/bashrc
    fi
    ~                                                                                                                             
    ~                                                                                                                             
    ~                                                                                                                             
    ~                                                                                                                             
    ~                                                                                                                             
    -- 插入 --   
    

    设置之后重启虚拟机后挂载信息仍然存在。

5. 使用yum安装和卸载程序
  • 安装软件:yum install -y httpd
  • 启动软件:systemctl start httpd
  • 关闭防火墙:systemctl stop firewalld
  • 禁用防火墙:disable firewalld

使用YUM管理RPM包

  1. 安装:
  • 全新安装:yum -y install 包名1 软件包2 ...
    -y参数是自动确认的意思。
  • 重新安装:yum -y reinstall 包名1 包名2
  • 升级安装:yum -y update 包名1 包名2
  • 查询:yum list 包名yum search 包名
  • 卸载:yum remove 包名
  1. 查询:
    查询一个包是否已经安装:yum list 包名yum search 包名
    最后一列信息如果带@就表示是已经安装过的包,最后一列表示的是下载仓库

    [root@localhost ~]# yum list httpd
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    已安装的软件包
    httpd.x86_64     2.4.6-95.el7.centos     @dvd
    
  2. 卸载:yum -y remove 包名1 软件包2 ...
    或者yum -y erase 包名1 软件包2 ...

    [root@localhost ~]# yum -y remove httpd
    已加载插件:fastestmirror, langpacks
    正在解决依赖关系
    ...
    删除:
      httpd.x86_64 0:2.4.6-95.el7.centos                                                                                          
    
    完毕!
    [root@localhost ~]# yum list httpd
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    可安装的软件包
    httpd.x86_64     2.4.6-95.el7.centos        dvd
    
  3. 其他

  • 清理yum缓存:yum clean all
  • 缓存软件包信息:yum makecache
  • 查询yum源信息:yum repolist
  • 查看软件的依赖关系:yum deplist
  • 查看文件属于哪个软件:yum provides ld-linux.so.2

配置阿里的yum地址 — 使用网络下载

  • 清除原有yum配置

  • 下载阿里官网配置
    前往阿里巴巴开源镜像站
    选择centos下载基础包
    选择epel下载扩展包
    在这里插入图片描述
    wget是一个文件下载命令,在yum.repos.d目录下执行如下下载命令就可以下载yum的配置文件到该目录。

    wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
    
    wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
    
  • 更新yum仓库

    yum clean all  // 清理yum缓存
    yum makecase  // 缓存软件包信息,提升包的下载速度 
    
  • 查看yum配置

    yum repolist
    

RPM工具

RPM是红帽系统/centos系统自带的rpm包管理工具,无需安装,与YUM功能相同,没有YUM好用。

使用RPM管理RPM包

  1. 安装
    首先在/mnt/cdrom/Package文件夹下查找所要下载的包是否存在。

    [root@localhost ~]# cd /mnt/cdrom/Packages/
    [root@localhost Packages]# ls wget-1.14-18.el7_6.1.x86_64.rpm 
    wget-1.14-18.el7_6.1.x86_64.rpm
    

    存在的话才能下载,执行下载命令:rpm -ivh 包名(i是安装,v是可视,h是百分比)。
    下载的时候需要加rpm后缀,因为是下载安装包

    rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
    

    wget包是用来下载东西的,类似于迅雷。

    后缀命令--force强制安装

  2. 查询
    rpm -q 包名(q是查询)
    注意查询的时候不用加.rpm后缀,因为是查询包,而不是安装包

    [root@localhost Packages]# rpm -q wget
    wget-1.14-18.el7_6.1.x86_64
    

    出现包的名称说明安装成功。

    rpm -ql 包名:查询包的安装路径
    rpm -qa :查询所有已安装软件
    rpm -qi 包名:查询软件包的详细信息
    rpm -qf 文件:查询某个文件是由哪个软件产生的。

    rpm -qf /etc/passwd
    
  3. 删除
    rpm -evh 包名 (-e是删除的意思)
    注意卸载的时候不用加.rpm后缀

    [root@localhost Packages]# rpm -q wget
    wget-1.14-18.el7_6.1.x86_64
    [root@localhost Packages]# rpm -evh wget-1.14-18.el7_6.1.x86_64
    准备中...                          ################################# [100%]
    正在清理/删除...
       1:wget-1.14-18.el7_6.1             ################################# [100%]
    

    后缀命令--nodeps 在卸载的时候用,卸载的时候不检查依赖关系强制卸载

RPM的缺点

无法处理包之间的依赖关系。不如A包依赖B包,下载A包的时候会自动终止,他不会去自动下载B包。

源码包管理

获得源码包

官方网站可以获取最新的源码包:

下载:

  • 如果虚拟机可以联网,直接访问对应的网址进行下载即可
  • 如果虚拟机不可以联网,在真机下载之后:
    • 拖拽到虚拟机。
    • 或者使用rz命令
      yum -y install lrzsz-0.12.20-36.el7.x86_64
      
      下载完之后在终端输入rz命令,会吊起真机的盘符,然后选择下载的源码包,就可以复制到虚拟机。

部署源码包

  • 配置源码包的编译环境
    下载对应的包,以下是几个常用的编译环境的包:

    yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel
    
  • 解压包:tar xf 包名

    tar xf tengine-2.3.2.tar.gz 
    
  • 配置源码包
    源码包的优点就是可以配置:./configure 配置项
    跳转到源码包解压后的目录进行配置。

    [root@localhost 桌面]# cd tengine-2.3.2/
    [root@localhost tengine-2.3.2]# ./configure --user=www --group=www --prefix=/usr/local/niginx
    

    –user:指明属主
    –group:指明属组
    –prefix:配置安装路径在哪

  • 编译
    将软件包的语言编译成系统能够读懂的语言:make
    make将源码编译成二进制文件,并存放在当前文件夹下

    [root@localhost tengine-2.3.2]# make
    
  • 安装
    安装源码包,将软件安装至指定目录(–prefix指令的目录)

    [root@localhost tengine-2.3.2]# make install
    
  • 启动
    tengine服务和httpd冲突,启动之前请确保httpd是关闭的

    [root@localhost tengine-2.3.2]# /usr/local/nginx/sbin/nginx
    [root@localhost tengine-2.3.2]# systemctl stop firewalld
    

    启动成功并关闭防火墙之后访问本机IP(http://127.0.0.1:80),如果出现nginx的网页,说明部署成功。nginx占取80端口。
    或者使用命令:lsof -i:端口号可以查看端口占用情况

  • 关闭

    [root@localhost tengine-2.3.2]# /usr/local/nginx/sbin/nginx -s stop
    
  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值