简介
RPM包
RPM(RedHat Package Manager),Rethat软件包管理工具,类似windows里面的setup.exe,是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但是其原始设计理念是开放式的,包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
由Rde Hat公司提出,被众多Linux发行版采用,也称二进制包(binary code)无需编译,可以直接使用。但是无法设定个人设置,开关功能
软件包示例(注意后缀):
mysql-community-common-5.7.12-1.el7.x86_64.rpm
mysql-community-common:软件包名
-------------------------------------------------
5.7.12-1(version): 软件版本号
-------------------------------------------------
el7(Release5/6/7).: 系统发行版本号,红帽企业版系统
-------------------------------------------------
x86_64: 系统平台,32位与64位
--------------------------------------------------
rpm: 文件后缀
源码包
源码包就是一大堆源代码程序,是由程序员按照特定的格式和语法编写出来的。计算机只能识别机器语言,也就是二进制语言,所以源码包的安装需要一名“翻译官”将“abcd”翻译成二进制语言,这名“翻译官”通常被称为编译器。
源码包(source code),需要经过GCC,C++等编译环境编译后才能运行,源码包可以设定个人设置,开关等功能。缺点是配置复杂
软件包示例:
nginx-1.8.1.tar.gz
RPM包管理
YUM工具
简介
yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装,yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令。
依赖关系:需要安装A包,但是需要安装B、C、D等包才能安装A包
语法:
yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 "yes")等等。
command:要进行的操作。
package:安装的包名。
yum常用命令:
1. 列出所有可更新的软件清单命令:yum check-update
2. 更新所有软件命令:yum update
3. 仅安装指定的软件命令:yum install <package_name>
4. 仅更新指定的软件命令:yum update <package_name>
5. 列出所有可安裝的软件清单命令:yum list
6. 删除软件包命令:yum remove <package_name>
7. 查找软件包命令:yum search <keyword>
8. 清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
YUM源
yum,全称“Yellow dog Updater, Modified”,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上可以通过 360 软件管家实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yum。
yum 是改进型的 RPM 软件管理器,它很好的解决了 RPM 所面临的软件包依赖问题。yum 在服务器端存有所有的 RPM 包,并将各个包之间的依赖关系记录在文件中,当管理员使用 yum 安装 RPM 包时,yum 会先从服务器端下载包的依赖性文件,通过分析此文件从服务器端一次性下载所有相关的 RPM 包并进行安装。
本地yum源:所谓本地yum源是指yum仓库在本地,一般是本地系统光盘或镜像文件;
网络yum源:所谓网络yum源是指yum仓库在远程(不在本地),需要联网才能安装;
由于系统原本是官方yum源地址,但都是国外网站地址,所以下载速度特别慢,在使用yum工具前我们需要更换官方yum源换为本地yum源。
目的:通知Linux服务器,通过本机的系统光盘获得软件包,并安装软件
过程:
-
观察YUM核心配置目录
目录:/etc/yum.repos.d
这些文件就是下载地址,我们可以打开一个,进行观察
mirrorlist:这是国外官方网站,下载速度会比较慢 -
删除官方YUM库
我们不需要官方的yum库可以进行删除或者移动位置的操作
-
编写本地YUM库配置文件
在我们删除或移动yumku中的文件后,yum程序是无法运行的,因为没有了下载地址。所以我们要编写本地的yum库配置文件。这有两个含义:编写yum库配置与本地文件。这个配置指引的是本地文件,下载软件去本地的文件中找
第一步:
配置文件:/etc/yum.repos.d/与.repo是必打的,文件名称可以自己随意但最好不是数字(vim会自动创建文件)
进行文件后,有四行必须打的配置
[dvd] 某个库的名字,中括号是必须的
------------------------------------------------
name=dvd 是库的说明,name是必须的
------------------------------------------------
baseurl="file:///mnt/cdrom" 下载的具体地址
------------------------------------------------
gpgcheck=0 关闭校验
- 挂载安装光盘(临时的)
我们配置的下载具体位置是/mnt/cdrom,但虚拟机上并没由这个文件。所以必须要准备一个文件夹装载软件包,软件包就在我们的系统光盘位置为:/dev/cdrom,cdrom确实是一个硬件设备但是我们不需要分区与格式化,只需要挂载就好,因为cdrom(光驱)中本身就存在数据。
Packages,里面存储的是各种软件包
挂载行为,一重启就失效,得重复挂载
5. 使用YUM工具安装软件
# yum -y reinstall httpd 安装软件
# systemctl start httpd 启动软件
# systemctl stop firewalld 关闭防火墙
# systemctl disable firewalld 禁用防火墙
# yum -y remove mysql-server 卸载软件
使用YUM管理RPM包
- 安装
全新安装
语法:
# yum -y install httpd vsftpd
主命令 自动确认 安装 软件包1 软件包2
重新安装
语法:
# yum -y reinstall httpd
当软件缺失文件,可以尝试重新安装
reinstall:重新安装
- 查询
查询软件是否安装,带@表示已经安装,list后面可跟软件名
语法:# yum list
例:yum list httpd
- 卸载
语法:
yum -y remove 软件名称
RPM工具
管理红帽系统/centos系统是系统自带的,rpm包的基本工具,与yum工具功能基本相同。但是rpm无法处理依赖关系
rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
无法处理依赖关系:
- 安装(i)
语法:rpm -ivh 软件全称
-i安装 -v可视 -h百分比 -q查询 -e卸载
使用yum
- 查询(q)
语法:rpm -q 软件名
看到软件名字,就说明rpm -q 查询成功,已经安装软件
- 卸载(e)
语法:rpm -evh 软件全称
源码包管理
获得源码包
官方网站,可以获得最新的软件包
- Apache: www.apache.org
- Nginx: www.nginx.org
- Tengine: tengine.taobao.org
也可以使用阿里巴巴开源镜像站
实战测试
- 下载Tengine
虚拟机有网得情况下:
直接前往tengine官网下载,点击download,下载路径默认是用户下载文件夹中
会有多个版本得源码包,可以自由选择,主版本号没变,变的只是子版本号
- 准备编译环境
准备一些编译环境如: gcc 、make、 zlib-devel、 pcre 、pcre-devel、 openssl-devel,用于编译源码包
- 解压
tar -x 压缩包
- 配置
配置之前需要cd进入解压文件,使用**./configure**
./configure --user=www --group=www --prefix=/usr/local/nginx
命令 --配置,用户必须是www,安装路径必须是/usr/local/nginx,有什么要求写什么
命令结束后
- 编译
语法:make 即可
- 安装
语法:make install 即可
为报错源码包,就是安装成功
- 启动测试
如果安装过httpd服务,如果直接启动nginx会有冲突,请保持关闭httpd
systemctl stop httpd
# /usr/local/nginx/sbin/nginx //启动 nginx 服务器
# systemctl stop firewalld //关闭防火墙
然后使用浏览器访问本机的ip ,http://127.0.0.1,如果能看到NGINX的网页,说明部署成功
扩展
使用阿里源,要求是虚拟机上拥有网络,在浏览器上前往阿里巴巴开源镜像站
- 清理官方yum配置
yum配置的目录:这目录里面就是所有的yun配置,我们需要清理官方的配置,因为官方的配置下载过慢
/etc/yum.repos.d/
- 下载阿里官网配置
进入阿里官网后,选择自己虚拟机的系统
选择自己的系统版本,复制该语句,粘贴到终端中,前提是下载了wget软件
敲回车
进入文件Base,可以看到下载地址为aliyun.com
还可以再下载一个epel包(扩展包),阿里包(基础包),二者结合囊括了大部分使用程序
操作也上面一样 - 更新yum仓库
语法:yum makecache
列出库
语法 yum repolist
4. 执行安装
可以看到下载地址已经换为aliyun.com的网址,启动httpd,关闭防火墙,进入网址127.0.0.1