linux学习笔记(9)软件管理

linux学习笔记(9)软件管理


9.1 软件管理概述


9.1.1 RPM包

  • RPM Package Manager
  • 在linux中,rpm包是一种通过资料库管理的方式将所需要的软件安装到主机上的管理程序;rpm由红帽开发常用于软件包的安装升级卸载与查询,linux通过rpm来实现和管理软件的安装、查看和删除。
  • RPM包的特点
    • 事先已经编译好,二进制(binary code)无需编译
    • 安装方便
    • 安装过程中要求环境一致
    • 反安装时要从最上层开始
  • RPM包注释:zip - 3.0-11. el7. x86_64 rpm
    • 软件包名:zip
    • 版本号(version):3.0-11
    • 发布版本(Release5/6/7):el7(enterprise linux 7)
    • 系统平台(32/64):x86_64
    • 文件后缀:rpm

9.1.2 源码包

  • source code 需要经过GCC ,C++编译环境编译才能运行
  • 软件包示例:nginx-1.8.1.tar.gz

9.2 RPM包管理


9.2.1 YUM工具

  • yum( Yellow dog Updater, Modified)是一个在Fedora 和 RedHat以及 SUSE 中的 Shell 前端软件包管理器。

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

  • yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

1、YUM本地源:系统安装光盘

  • 通知linux服务器,通过本机的系统光盘获得软件包,并安装软件
    • 记住目录/etc/yum.repos.d/
    • 打开一个*.repo (repository)
    • 观察国外地址(下载速度很慢)
  • 删除官方YUM库
tar -cvf repos.tar * 
mv repos.tar /tmp
# 先打包带走
# 不用rm-rf 用mv可以补救

在这里插入图片描述

  • 需要时再解压回来

在这里插入图片描述

1、编写本地YUM库配置文件
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/dvd.repo
# 红色框内为必填,名字自己起,有含义,不要数字

在这里插入图片描述

  • 建立本地仓库,下载地址地址仓库,软件包库,YUM仓库,因为在这个baseurl能找到很多包
    • /etc/yum.repos.d/是YUM下载地址库目录
    • [dvd]某一个库的名称,[] 必须要
    • name=dvd 是库的说明,name是必须的
    • file:// 指的是本地 baseurl=file:///mnt/cdrom下载库的具体地址
    • gpgcheck=0 关闭校验
[root@localhost yum.repos.d]# vim /etc/yum.repos.d/dvd.repo
[root@localhost yum.repos.d]# cat /etc/yum.repos.d/dvd.repo
[dvd]
name=dvd123
baseurl=file:///mnt/cdrom
gpgcheck=0
[root@localhost yum.repos.d]# 
2、挂载安装光盘
  • 一开始没有这个文件夹(/mnt/cdrom),所以要准备一个文件夹(mkdir /mnt/cdrom)来装载包
    在这里插入图片描述
[root@localhost yum.repos.d]# mkdir /mnt/cdrom
[root@localhost yum.repos.d]# ls /dev/cdrom
/dev/cdrom
[root@localhost yum.repos.d]# mount /dev/cdrom /mnt/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost yum.repos.d]# ls /mnt/cdrom/
CentOS_BuildTag  GPL       LiveOS    RPM-GPG-KEY-CentOS-7
EFI              images    Packages  RPM-GPG-KEY-CentOS-Testing-7
EULA             isolinux  repodata  TRANS.TBL
  • 为了把软件(在光盘里面)放进去这个文件夹(/mnt/cdrom)
  • 光盘在/dev/cdrom,将光盘挂载到文件夹就可以使用了,使用注意事项:
    • 把光盘插到机器上,要插对,选对系统光盘
    • 通电,虚拟机下面那个光盘有绿光

在这里插入图片描述

  • 挂载成功后,查看文件夹里面的东西,都是CentOS装系统用的
  • 查看Packages文件

在这里插入图片描述

  • 里面是红帽推出的可用软件包(RPM软件包),查看数量
  • 用管道
ls /mnt/cdrom/Packages/ | wc -l

在这里插入图片描述

  • 重启电脑
init 6

注意:mount是临时挂载不永久,挂载命令写到系统自启动文件夹,只要系统启动就会挂载

把命令写在.bashrc里面,开机就会启动(专业位置在 /etc/fstab)

在这里插入图片描述

  • 编写/root/.bashrc文件
vim /root/.bashrc
  • 自启动文件,跟随用户启动运行的程序
  • mount挂载
  • /dev/cdrom 是光驱文件
  • /mnt/cdrom是挂载点

在这里插入图片描述

  • 重启后,使用 ls /mnt/cdrom 查看到光盘信息即可
ls /mnt/cdrom

在这里插入图片描述

3、使用YUM安装和卸载程序
[root@localhost ~]# yum install -y httpd
  • 安装软件,安装成功如下:( - y: 对所有的提问都回答“yes”)
[root@localhost ~]# yum install -y httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-95.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-95.el7.centos,它被软件包 httpd-2.4.6-95.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-95.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-95.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package            架构          版本                         源          大小
================================================================================
正在安装:
 httpd              x86_64        2.4.6-95.el7.centos          dvd        2.7 M
为依赖而安装:
 httpd-tools        x86_64        2.4.6-95.el7.centos          dvd         93 k
 mailcap            noarch        2.1.41-2.el7                 dvd         31 k

事务概要
================================================================================
安装  1 软件包 (+2 依赖软件包)

总下载量:2.8 M
安装大小:9.6 M
Downloading packages:
--------------------------------------------------------------------------------
总计                                                20 MB/s | 2.8 MB  00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : mailcap-2.1.41-2.el7.noarch                                 1/3 
  正在安装    : httpd-tools-2.4.6-95.el7.centos.x86_64                      2/3 
  正在安装    : httpd-2.4.6-95.el7.centos.x86_64                            3/3 
  验证中      : httpd-tools-2.4.6-95.el7.centos.x86_64                      1/3 
  验证中      : mailcap-2.1.41-2.el7.noarch                                 2/3 
  验证中      : httpd-2.4.6-95.el7.centos.x86_64                            3/3 

已安装:
  httpd.x86_64 0:2.4.6-95.el7.centos                                            

作为依赖被安装:
  httpd-tools.x86_64 0:2.4.6-95.el7.centos     mailcap.noarch 0:2.1.41-2.el7    

完毕!

  • systemctl start httpd 启动软件
  • systemctl stop firewalld 关闭防火墙
  • systemctl disable firewalld 禁用防火墙开机自启
[root@localhost ~]# systemctl start httpd
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
  • 打开浏览器,输入网站服务器的IP地址(http://127.0.0.1),验证网站程序部署成功。

在这里插入图片描述

2、使用YUM管理RPM包

1、安装
  • 全新安装(机器上没有)
yum -y install httpd vsftpd
# 安装两个软件包
  • 重新安装
yum -y reinstall httpd
  • 升级安装
yum -y update httpd
yum -y updata

注释:如果什么都不加,就是update系统

2、查询
  • 查询HTTP程序(查询包是否已装)
[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 -y remove httpd

卸载后的查询:(可安装的软件包)

[root@localhost ~]# yum list httpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
可安装的软件包
httpd.x86_64                       2.4.6-95.el7.centos                       dvd

9.2.2 RPM工具


  • 管理红帽系统/CentOS系统,rpm包的基本工具
  • 与yum功能相同
  • 无法处理依赖关系
1、安装(i)
  • 先找到安装包
cd /mnt/cdrom/Packages
  • 安装
rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm 
# install visual h(百分比)
[root@localhost Packages]# rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm 
警告:wget-1.14-18.el7_6.1.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
准备中...                          ################################# [100%]
	软件包 wget-1.14-18.el7_6.1.x86_64 已经安装
  • 如果用yum再次安装
[root@localhost Packages]# yum -y install wget-1.14-18.el7_6.1.x86_64.rpm 

已加载插件:fastestmirror, langpacks
正在检查 wget-1.14-18.el7_6.1.x86_64.rpm: wget-1.14-18.el7_6.1.x86_64
wget-1.14-18.el7_6.1.x86_64.rpm:不更新已安装的软件包。
错误:无须任何处理
  • 去掉rpm后缀
[root@localhost Packages]# yum -y install wget-1.14-18.el7_6.1.x86_64

已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 wget-1.14-18.el7_6.1.x86_64 已安装并且是最新版本
无须任何处理
  • 无法处理依赖关系
[root@localhost Packages]# rpm -ivh xguest-1.0.10-32.el7.noarch.rpm 

警告:xguest-1.0.10-32.el7.noarch.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:
	policycoreutils-sandbox 被 xguest-1.0.10-32.el7.noarch 需要
[root@localhost Packages]# 
2、查询(q)
[root@localhost Packages]# rpm -q wget 

wget-1.14-18.el7_6.1.x86_64
3、卸载(e)
[root@localhost Packages]# rpm -evh wget-1.14-18.el7_6.1.x86_64
准备中...                          ################################# [100%]
正在清理/删除...
   1:wget-1.14-18.el7_6.1             ################################# [100%]
  • 可以再次查询,发现已经没有
[root@localhost Packages]# rpm -q wget-1.14-18.el7_6.1.x86_64

未安装软件包 wget-1.14-18.el7_6.1.x86_64 

安装的时候一定要带后缀,因为装的是安装包,卸载的是软件。

查询的时候查的是软件,不用带后缀

9.3 源码包管理


1、获得源码包


官方网站,可以获得最新的软件包

2、实战案例


  • 下载tengine
  • ①直接去官网下(如果linux可以联网)
  • ②在windows将网址复制过来,用wget下载(wget没有的话yum一下)
[root@localhost 桌面]# wget https://tengine.taobao.org/download/tengine-2.3.2.tar.gz
--2022-07-26 19:19:06--  https://tengine.taobao.org/download/tengine-2.3.2.tar.gz
正在解析主机 tengine.taobao.org (tengine.taobao.org)... 106.11.186.45, 203.119.245.120, 203.119.245.121, ...
正在连接 tengine.taobao.org (tengine.taobao.org)|106.11.186.45|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2835884 (2.7M) [application/octet-stream]
正在保存至: “tengine-2.3.2.tar.gz”

100%[======================================>] 2,835,884    738KB/s 用时 3.8s   

2022-07-26 19:19:10 (732 KB/s) - 已保存 “tengine-2.3.2.tar.gz” [2835884/2835884])
  • 准备编译环境:编译器
yum -y install gcc make zlib-devel pcre pcre-devel openssl-devel

在这里插入图片描述

  • 解压
tar xf tengine-2.3.2.tar.gz

在这里插入图片描述

  • 进入解压后的文件夹
[root@localhost 桌面]# cd tengine-2.3.2/
[root@localhost tengine-2.3.2]# 
  • 配置
./configure --user=www --group=www --prefix=/usr/local/nginx

注意:configure表示值型后面的条件

  • 编译
make
  • 安装
make install
  • 测试准备(之前安装过httpd服务,如果直接启动nginx可能会有冲突。请确保关闭httpd)
systemctl stop httpd	
# 关防火墙
systemctl stop firewalld
  • 启动测试
/usr/local/nginx/sbin/nginx
# 使用浏览器访问本机IP(http://127.0.0.1)如果可以看到NGINX则说明部署成功。

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值