一、rpm包安装方式
red hat 公司 将 常用的 linux 软件进行 整合,编译 打包使用红帽的 安装工具进行安装就可以了
1.1一般命名格式
bash-4.1.2-15.el6_4.x86_64.rpm
bash shell环境 版本信息 4.1.2 15发布次数 x86_64硬件(为“i386”或“i686”等)
1.rpm 查询
rpm -q 查询已安装软件
rpm -qa | 查询所有已安装的软件 |
rpm -q 软件名 | 查询某个软件是否已安装 |
rpm -qc 软件名 | 查询 某个软件的 配置文件 |
rpm -gl 软件名 | 某软件的所有文件列表 |
rpm -gi 软件名 | 软件名软件的 基本信息 |
rpm 安装
rpm -ivh 软件名
i | install 安装 |
v | 显示过程 |
h | ######## 进度条 |
实验
安装软件首先要有包
准备安装包
1. 红帽官方
2. 第三方组织提供
3. 软件项目官方站点
准备 将镜像文件放入 光驱
mount /dev/sro /mnt #将光驱中的内容复制到mnt 目录cd /mnt/Packages
安装软件
Isl grep httpd
rpm -ivh httpd-tools-2.4.6-67.el7.centos.x86 64.rpm
rpm -ivh httpd-2.4.6-67.el7.centos.x86 64.rpm
rpm -g httpd
卸载
rpm -e 软件名(可以缩写)
rpm -e httpd
二、yum仓库简介
yum简介
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间
为什么会有依赖关系的发生 因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。
YUM 的前身是 YUP(Yellow dog Updater,Yellow dog Linux 的软件更新器),最初由 TSS 公司(Terra Soft Solutions,INC.)使用 Python 语言开发而成,后来由杜克大学(Duck University)的 Linux 开发队伍进行改进,命名为 YUM(Yellow dog Updater,Modified)。 要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库(repository),提供软件仓库的服务器也称为“源”服务器。在客户机中只 要正确指定软件仓库的地址等信息,就可以通过对应的“源”服务器来安装或更新软件。
1.2yum实现过程
要有安装包
安装包:
1.光驱里自带 挂载提供软件包
先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。
yum需要依赖于环境,依赖于服务端和客户端,允许跨网络
服务器:
- RPM包 (Packages文件夹中)
- 元数据(repodata文件夹:目录(软件的目录),软件的依赖关系,软件的位置)
客户端的配置文件中
baseurl=地址 一定要写到到 这两个文件夹 repodata packages 的上级目录
最终形成两个文件夹Packages (包文件夹一般取名packages)和 repodata(元数据文件夹)
仓库类型:
- 光盘的仓库基本仓库 比较常用的
- epel扩展仓库 比较新
yum配置文件及命令
2.1 yum配置文件
2.1.1 主配置文件
位置:/etc/yum.conf //主配置文件
[root@localhost]# /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever //yum下载的RPM包的缓存目录 $basearch代表硬件架构 $releasever系统版本比如7
keepcache=0 //是否保存缓存 0代表不保存,1代表保存
debuglevel=2 //调试级别了解即可
logfile=/var/log/yum.log // 日志文件位置
exactarch=1 //是否允许不同版本的rpm安装
obsoletes=1 //update 的一个参数是否可以允许旧版本的运行
gpgcheck=1 //验证秘钥
plugins=1 //是否允许插件1代表可以
installonly_limit=5 //保存几个内核 5代表5个
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
yum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量
yum命令详解
命令 | 不加关键字 | 加入关键词、软件包、软件包组 |
yum list | 显示所有可用包 | 单个的可安装包 |
yum info | 显示所有可用包的信息 | 单个具体的信息 |
yum search | \ | 模糊查找所有的相关信息 |
yum provides | \ | 精确查找 |
yum grouplist | 显示所有可用包组 | 显示具体的包组 |
yum groupinfo | 显示所有的包组具体信息 | 显示具体的包组的具体信息 |
yum install | \ | 安装具体软件包 |
yum groupinstall | \ | 安装具体软件包组 |
yum update | 所有软件升级 | 具体软件升级 |
命令 | 不加关键字 | 加入关键词、软件包、软件包组 |
yum group update | 所有包组升级 | 具体包组升级 |
yum remove | \ | 卸载具体软件 |
yum groupremove | \ | 卸载具体包组软件 |
yum history | 查看当前yum操作历史 | \ |
yum history undo | 加入序号卸载序号里安装的软件 | \ |
yum history redo | 加入序号重新执行序号里的操作 | \ |
搭建仓库的方式
本地yum仓库 没有网络的情况下, 光盘
软件仓库的提供方式
FTP服务:ftp://ip地址/站点里路径
HTTP服务:http://域名或者ip地址/站点里的路径
本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)
搭建本地yum仓库
1.首先将光驱中的镜像文件进行挂载(先将虚拟机的光盘载入)
2.yum仓库的本地配置文件
3.清理缓存并重新下载元信息
搭建阿里云仓库 (http方式外网环境)
国外云仓库比较慢,可以使用阿里云仓库代替
1.切换到 yum.repo.d 目录 将自带的仓库移走
2.新建aliyun仓库
清理缓存并安装软件
yum clean all //清理yum缓存
yum makecache //重新建立元数据
yum安装tree测试是否成功
yum install tree -y
ftp方式搭建云仓库
服务端:172.16.88.4
客户端:172.16.88.3
服务器
1.服务端安装vsftp服务
yum install vsftpd.x86_64 -y
2.服务端切换到 ftp目录下新建一个centos7目录
3.服务端将光驱挂载到/var/ftp/centos7下
[root@localhost:/var/ftp# ]mount /dev/sr0 /var/ftp/centos7/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost:/var/ftp# ]systemctl start vsftpd
客户端
[root@host2:~# ]yum install ftp -y
[root@host2:~# ]ftp 172.16.88.3 使用ftp测试能否正常访问服务端
[root@host2:~# ]cd /etc/yum.repos.d/
[root@host2:/etc/yum.repos.d# ]ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
[root@host2:/etc/yum.repos.d# ]mkdir bak
[root@host2:/etc/yum.repos.d# ]mv *.repo bak
[root@host2:/etc/yum.repos.d# ]ls
bak
[root@host2:/etc/yum.repos.d# ]vim ftp.repo
清理缓存并重新下载元信息
安装tree验证是否成功
yum
优点:1.简单
2.自动解决依赖关系
缺点:1.软件的功能不全
2.版本过旧
三、编译安装
编译 将人类使用的高级语言,转化为二进制语言
优点
1功能自定义
2可以安装最新的版本
缺点
复杂
在编译安装前
要先安装编译的软件
gcc gcc-c++ make
安装依赖的软件
编译安装的3步
./configure #脚本文件,源码包中自带,makefile .你做的个性化设置
1.检测安装环境 依赖关系
2.可以选择安装软件的哪些功能,生成一个文件 make.file,按照这个文件的配置进行编译安装
3.指定安装路径 --prefix=路径 路径可以不存在,会自动建立
make#将源代码编译成 二进制可以执行的文件
make install#将软件安装进 系统的指定路径
nginx 运行一个 网站你
安装了 nginx 软件 等于搭建了一个 网站
编译安装nginx 网站软件
mkdir /data
cd/data
wget http://nginx.org/download/nginx-1.18.0.tar.gz #下载源码包
tar xf nginx-1.18.0.tar.g2
cd nginx-1.18.0/
yum -y install make gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel #安装依赖环境
./configure --prefix=/apps/nginx #检测环境, 指定安装目录
make -j2 #编译 -j2 2个核心编译
make instal # 将软件复制到 前面规定的路径
In -s /apps/nginx/sbin/nginx /usr/local/sbin #可以补全
nginx
systemctl stop firewalld
setenforce 0
cur
ip地址(本机的)
浏览器中 输入 ip地址