目录

  • 一YUM概述
    • 1.yum仓库简介
    • 2.yum实现过程
  • 二.yum配置文件及命令
    • 1.yum配置文件
    • 2.仓库设置文件
    • 3.日志文件
    • 4.yum命令详解
      • 4.1查询
        • 4.1.1 yum list [软件名]
        • 4.1.2yum info [软件名]
        • 4.1.3yum grouplist [包组名]
        • 4.1.4 yum search <关键词>
        • 4.1.5yum whatprovides <关键词>
        • 4.1.6yum groupinfo <包组名>
      • 4.2安装升级
        • 4.2.1.yum install [软件名]
        • 4.2.2 yum groupinstall <包组名>
        • 4.2.3yum update
      • 4.3软件卸载
        • 4.3.1.yum remove <软件名>
        • 4.3.2yum history
  • 三. 搭建仓库的方式
  • 四.NFS共享
    • 1.NFS简介
    • 2.原理
    • 2.搭建过程
  • 总结

一YUM概述

1.yum仓库简介

YuMe…za的软件更新机制
●基于RPM包构建的软件更新机制
●可以自动解决依赖关系
●所有软件包由集中的YUM软件仓库提供
yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间
有依赖关系的发生是因为linux本身就是以系统简洁为自身优势,所以在安装操作系统的时候并没有将所有的库文件以及编译软件包进行安装,所以在linux操作系统上进行软件安装的时候会出现软件包依赖的情况。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

2.yum实现过程

先在yum服务器上创建 yum repository(仓库),在仓库中事先存储了众多rpm包,以及包的相关的元数据文件(放置于特定目录repodata下),当yum客户端利用yum/dnf工具进行安装时包时,会自动下载repodata中的元数据,查询远数据是否存在相关的包及依赖关系,自动从仓库中找到相关包下载并安装。

二.yum配置文件及命令

1.yum配置文件

位置:/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-releaseyum的repo配置文件中可用的变量:
$releasever: 当前OS的发行版的主版本号,如:8,7,6
$arch: CPU架构,如:aarch64, i586, i686,x86_64等
$basearch:系统基础平台;i386, x86_64
$contentdir:表示目录,比如:centos-8,centos-7
$YUM0-$YUM9:自定义变量

2.仓库设置文件

位置:/etc/yum.repos.d/*.repo //yum仓库文件位置
默认的yum仓库 是centos官方的yum源,需要联网才可以使用

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

3.日志文件

位置:/var/log/yum.log //日志文件

[root@localhost yum.repos.d]# cat /var/log/yum.log
Sep 28 09:54:44 Installed: 32:bind-9.9.4-50.el7.x86_64
可以查到已安装的软件

4.yum命令详解

命令 不加关键字 加入关键词、软件包、软件包组
yum list 显示所有可用包 单个的可安装包
yum info 显示所有可用包的信息 单个具体的信息
yum search \ 模糊查找所有的相关信息
yum whatprovides \ 精确查找
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 加入序号亚新执行序号里的操作 \

4.1查询

4.1.1 yum list [软件名]

显示可用的安装包,不加软件名,会显示所有已安装的软件包,包括系统自带的

[root@localhost yum.repos.d]# yum list bind
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Installed Packages
bind.x86_64                                                              32:9.9.4-50.el7                                                               @1

4.1.2yum info [软件名]

显示安装包详细信息

[root@localhost yum.repos.d]# yum info bind
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
Installed Packages
Name        : bind
Arch        : x86_64
Epoch       : 32
Version     : 9.9.4
Release     : 50.el7
Size        : 4.3 M
Repo        : installed
From repo   : 1
Summary     : The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
URL         : http://www.isc.org/products/BIND/
License     : ISC
Description : BIND (Berkeley Internet Name Domain) is an implementation of the DNS: (Domain Name System) protocols. BIND includes a DNS server (named),: which resolves host names to IP addresses; a resolver library: (routines for applications to use when interfacing with DNS); and: tools for verifying that the DNS server is operating properly.

4.1.3yum grouplist [包组名]

安装包组的查询 不加包组名 就是显示所有

[root@localhost yum.repos.d]# yum grouplist
Loaded plugins: fastestmirror, langpacks
There is no installed groups file.
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
Available Environment Groups:Minimal InstallCompute NodeInfrastructure ServerFile and Print ServerBasic Web ServerVirtualization HostServer with GUIGNOME DesktopKDE Plasma WorkspacesDevelopment and Creative Workstation
Available Groups:Compatibility LibrariesConsole Internet ToolsDevelopment ToolsGraphical Administration ToolsLegacy UNIX CompatibilityScientific SupportSecurity ToolsSmart Card SupportSystem Administration ToolsSystem Management
Done

4.1.4 yum search <关键词>

根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来

4.1.5yum whatprovides <关键词>

你知道某个命令却不知道具体的包可以用此命令查找

4.1.6yum groupinfo <包组名>

不加包组名显示全部

4.2安装升级

4.2.1.yum install [软件名]

安装软件包,如例子yum install安装http服务

4.2.2 yum groupinstall <包组名>

包组安装同yum install

[root@localhost ~]# yum groupinstall gnome desktop#如无法使用请先升级
yum -y upgrade
#再安装
yum -y groups install "GNOME Desktop"

4.2.3yum update

更新包组,可以单个也可以全部 后面加具体包组名称就是单个更新,不加就是全部更新。
但是首先你要有更新的包组库否则也无法更新。

[root@localhost yum.repos.d]# yum upgrade

4.3软件卸载

4.3.1.yum remove <软件名>

卸载已安装的软件必须加软件名

4.3.2yum history

查看历史的使用记录

[root@localhost yum.repos.d]# yum history
Loaded plugins: fastestmirror, langpacks
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------3 | root <root>              | 2021-09-28 11:03 | Install        |    1 2 | root <root>              | 2021-09-28 09:54 | Install        |    1   1 | System <unset>           | 2021-09-17 09:35 | Install        | 1372
history list要卸载3
[root@localhost yum.repos.d]# yum history undo 3再次使用yum history  查看多了一条4 记录是卸载记录
[root@localhost yum.repos.d]# yum history
Loaded plugins: fastestmirror, langpacks
ID     | Login user               | Date and time    | Action(s)      | Altered
-------------------------------------------------------------------------------4 | root <root>              | 2021-09-28 11:03 | Erase       |    1 3 | root <root>              | 2021-09-28 11:03 | Install        |    1 2 | root <root>              | 2021-09-28 09:54 | Install        |    1   1 | System <unset>           | 2021-09-17 09:35 | Install        | 1372
history list

如果后悔 卸载 可以使用两种方式

yum history redo 3 (重新安装一遍)
yum history undo 4 (反悔卸载等于重新安装一遍)

三. 搭建仓库的方式

软件仓库的提供方式
FTP服务:ftp://ip地址/站点里路径
HTTP服务:http://域名或者ip地址/站点里的路径
本地目录:file://绝对路径 (file:///mnt 此处第三个/为根目录)
FTP服务设置
服务器设置

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost yum.repos.d]# yum install vsftpd.x86_64 -y
[root@localhost yum.repos.d]#  cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir zy other                建立zy和other文件夹
[root@localhost ftp]# ls
other  pub  zy
[root@localhost ftp]# mount /dev/sr0 /mnt
[root@localhost ftp]# cp -rf /mnt/* zy &            把mnt目录下文件复制到zy文件夹下,后台操作
[1] 3000
[root@localhost zy]# ls
CentOS_BuildTag  EFI  EULA  GPL  images  isolinux  LiveOS  Packages  repodata  RPM-GPG-KEY-CentOS-7  RPM-GPG-KEY-CentOS-Testing-7  TRANS.TBL
[root@localhost zy]# cd /var/ftp/other
[root@localhost other]# createrepo -g /opt/repodata/repomd.xml ./   给othe建立一个数据库文件这里的opt是因为我把光驱挂载到了opt目录
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@localhost other]# ls
repodata
[root@localhost other]# systemctl start vsftpd            启动服务

客户端配置

[root@localhost yum.repos.d]# yum install ftp -y
[root@localhost yum.repos.d]# systemctl stop firewalld.service
[root@localhost yum.repos.d]# setenforce 0
[root@localhost yum.repos.d]# ftp 192.168.133.50
Connected to 192.168.133.50 (192.168.133.50).
220 (vsFTPd 3.0.2)
Name (192.168.133.50:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,133,50,184,99).
150 Here comes the directory listing.
drwxr-xr-x    3 0        0              22 Sep 30 07:11 other
drwxr-xr-x    2 0        0               6 Aug 03  2017 pub
drwxr-xr-x    8 0        0             220 Sep 30 06:56 zy
226 Directory send OK.
[root@localhost yum.repos.d]# mv *.repo bak
[root@localhost yum.repos.d]# ls
bak
[root@localhost yum.repos.d]# vim zy.repo

[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum install bind bind-u* -y
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
软件包 32:bind-utils-9.9.4-50.el7.x86_64 已安装并且是最新版本
。。。。

四.NFS共享

1.NFS简介

NFS (Network File System网络文件服务)
NFS是一种基于TCP/IP传输的网络文件系统协议,最初由Sun公司开发。
通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源
NFS也是NAS存储设备必然支持的一种协议1
NAS存储:
NFS服务的实现依赖于RPC(Remote Process Call,远端过程调用)机制,
以完成远程到本地的映射过程。在CentOS7系统中,需要安装nfs-utils、rpcbind软件包来提供NFS共享服务,
前者用于NFS共享发布和访问,后者用于RPC支持。
手动加载NFS共享服务时,应该先启动rpcbind,再启动nfs。
特点:
采用TCP/IP传输网络文件
安全性低
简单易操作
适合局域网环境
NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。

2.原理

2.搭建过程

先加装一块硬盘备用

[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
[root@localhost ~]# yum install nfs-utils.x86_64  -y            安装软件包
[root@localhost ~]# mkdir /mnt/zy
[root@localhost mnt]# vim /etc/exports


这里的*代表所有主机使用
如果限制主机可以写成

/mnt/zy 192.168.133.0/24(rw,sync,no_root_squash)
#共享目录  网段           读写,同步,无root权限
[root@localhost mnt]#  systemctl start rpcbind
[root@localhost mnt]# systemctl start nfs

重启服务最好用exportfs -r命令,因为共享东西不能断线

[root@localhost mnt]# exportfs -a
exportfs: No options for /mnt/zy *: suggest *(sync) to avoid warning
[root@localhost mnt]# exportfs -v
/mnt/zy         <world>(sync,wdelay,hide,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)ro 只读    root_squash 限制root       no_all_squash 其他用户不限制
[root@localhost mnt]# exportfs -r
exportfs: No options for /mnt/zy *: suggest *(sync) to avoid warning
[root@localhost mnt]# showmount -e                        查看本机设置的NFS共享目录
Export list for localhost.localdomain:
/mnt/zy *

设置客户机

[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
[root@localhost ~]# mkdir /var/zy
[root@localhost ~]# mount 192.168.133.50:/mnt/zy /var/zy
[root@localhost ~]# df -Th
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        50G  3.5G   47G    7% /
devtmpfs                devtmpfs  897M     0  897M    0% /dev
tmpfs                   tmpfs     912M     0  912M    0% /dev/shm
tmpfs                   tmpfs     912M  9.1M  903M    1% /run
tmpfs                   tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sda1               xfs        24G  179M   24G    1% /boot
/dev/mapper/centos-var  xfs       2.0G  1.5G  535M   74% /var
/dev/mapper/centos-home xfs        20G   33M   20G    1% /home
tmpfs                   tmpfs     183M   12K  183M    1% /run/user/42
tmpfs                   tmpfs     183M     0  183M    0% /run/user/0
192.168.133.50:/mnt/zy  nfs4      100G   33M  100G    1% /var/zy

测试过程

主机上
[root@localhost ~]# cd /mnt/zy
[root@localhost zy]# ls
[root@localhost zy]# touch 1.txt
[root@localhost zy]# ls
1.txt
客户机上在共享文件夹里就有了
[root@localhost ~]# cd /var/zy
[root@localhost zy]# ls
1.txt
但客户机无法新建文件因为服务器没有设置权限
[root@localhost zy]# touch 12.txt
touch: 无法创建"12.txt": 只读文件系统

到主机上添加权限

[root@localhost mnt]# vim /etc/exports
/mnt/zy *(rw)
[root@localhost zy]# exportfs -r                                 重启服务

然后客户机上就可以建立文件了

[root@localhost zy]# touch 12.txt
[root@localhost zy]# ls
12.txt  1.txt
[root@localhost zy]# ll
总用量 0
-rw-r--r--. 1 nfsnobody nfsnobody 0 9月  30 19:56 12.txt             此文件为匿名用户建立
-rwxrwxrwx. 1 root      root      0 9月  30 19:46 1.txt
[fxy@localhost zy]$ ll
总用量 0
-rw-r--r--. 1 nfsnobody nfsnobody 0 9月  30 19:56 12.txt
-rwxrwxrwx. 1 root      root      0 9月  30 19:46 1.txt
-rw-rw-r--. 1 fxy       fxy       0 9月  30 20:18 fxy.txt       用普通用户可以添加并拥有宿主
主机上测试
vim /etc/exports
/mnt/zy *(rw,no_root_squash)                            给root增加权限
[root@localhost zy]# exportfs -r

客户机上测试

[root@localhost ~]# cd /var/zy
[root@localhost zy]# touch 123.txt
[root@localhost zy]# ll
总用量 0
-rw-r--r--. 1 root      root      0 9月  30 20:27 123.txt
-rw-r--r--. 1 nfsnobody nfsnobody 0 9月  30 19:56 12.txt
-rwxrwxrwx. 1 root      root      0 9月  30 19:46 1.txt
-rw-rw-r--. 1 fxy       fxy       0 9月  30 20:18 fxy.txt
永久挂载
[root@localhost ~]# vi /etc/fstab
…… //省略部分信息
192.168.133.50:/mnt/zy /var/zy nfs defaults,_netdev 0 0
#自动挂载
showmount -e 主机名  (查看远程主机nfs共享)#强制解挂载
[root@localhost ~]# umount /mnt
t umount. nfs: /mnt : device is busy
[root@localhost ~]# umount -lf /mnt

总结

yum三种仓库的建立
1.本地yum
2.ftp yum
3.http yum
yum基本命令
NFS共享文件的建立

部署YUM仓库及NFS共享服务相关推荐

  1. FTP服务器、部署YUM仓库与NFS共享服务

    FTP协议 概述 搭建与配置 部署YUM仓库服务 概述 配置本地 yum 源仓库 安装yum远程源(ftp模式) FNS共享存储服务 NFS概念 NFS使用场景 NFS服务 NFS配置安装 FTP协议 ...

  2. FTP服务器,部署YUM仓库,NFS共享服务

    一,概述 1.YUM概述 基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件包由集中的YUM软件仓库提供 2.软件仓库的提供方式 FTP服务:ftp://- HTTP服务:http://- ...

  3. 部署YUM仓库及NFS共享服务(咕咕咕)

    文章目录 YUM YUM概述 准备安装源 访问YUM仓库 NFS NFS共享存储服务 NFS配置文件 在文件服务器使用NFS发布共享资源 在客户机中访问NFS共享资源 YUM YUM概述 基于RPM包 ...

  4. 理论+实操 :部署YUM仓库以及NFS资源共享服务————理论讲解

    文章目录 一 : YUM概述 1.1 YUM,Yellow dog Updater Modified 二 : 准备安装源 2.1 软件仓库的提供方式 2.2 RPM软件包的来源 2.3 构建Cento ...

  5. YUM仓库及NFS共享服务理论

    文章目录 一.YUM仓库 1.YUM概述 2.准备安装源 3.访问YUM仓库 二.FNS共享存储服务 1.NFS概念 2.NFS使用场景 3.NFS服务 一.YUM仓库 1.YUM概述 YUM(Yel ...

  6. Linux服务篇之YUM仓库及NFS共享服务

    文章目录 1 yum 仓库 1.1 yum 实现过程 2 yum 配置文件 2.1 yum主配置文件 2.2 仓库设置文件 2.3 日志文件 3 yum命令详解 3.1 查询软件包命令 3.2 查询软 ...

  7. 部署yum仓库与NFS服务

    文章目录 部署yum仓库与NFS服务 构建yum软件包 yum常用命令 FTP远程仓库搭建步骤 服务端 客户端 使用NFS发布共享资源 NFS应用场景 服务端 强制卸载NFS 部署yum仓库与NFS服 ...

  8. FTP服务及部署YUM仓库与NFS服务!

    FTP服务及部署YUM仓库与NFS服务 一.FTP服务 1.概述 2.ftp服务的2种模式 Standard模式 Passive模式 3.搭建ftp服务 (1)搭建环境 (2)安装 (3)配置文件 4 ...

  9. YUM库及NFS共享服务1

    前言:有手就行 前言:上面那个是吹牛皮的,这次我们来玩一下YUM软件仓库,可以完成安装.卸载.自动升软件包等任务,管理员在维护大量 Linux 服务器时更加轻松自如.除此之外还详细讲解了NFS的几个案 ...

最新文章

  1. Grunt-几个常用的任务配置,加载,执行的写法
  2. VR的风口,让UWA借你一双翅膀
  3. 大型网站技术架构03
  4. @Autowired和构造方法执行的顺序解析
  5. python来进行社团划分
  6. 十二、文件上传与下载
  7. Spring和Quartz配合实现定时任务
  8. BZOJ3312: [Usaco2013 Nov]No Change
  9. Spring Cloud Gateway (六) 自定义 Global Filter
  10. 新房装修,家里WiFi怎么弄?
  11. 微软 服务器系统,微软正在开发Windows Server 2022服务器系统
  12. JavaScript 将两个数组合并,且删除重复的值
  13. wincc版本升级_【西门子】WinCC V7.4 SP1:常规信息和安装 (较新).pdf
  14. Louvain 算法的核心思路以及数据结构(最完善版)
  15. android怎么用经纬度定位,android 依据经纬度定位所在城市
  16. Spring拦截器和过滤器的区别及详解
  17. 数据挖掘之决策树与决策规则
  18. 如何禁止拼音加加自动修改IE首页
  19. 怎么将计算机工具栏时间去除,电脑任务栏不显示日期只显示时间的详细处理方法...
  20. php自我介绍50字,【自我介绍50字左右】自我介绍50字

热门文章

  1. 和数区块链技术投身Web3.0脚踏实地变革中蕴含机遇
  2. 我的第一个网页之----使用HTML编辑器编写HTML文档
  3. 计算机基础教程(三)
  4. 对在校本科毕业生的一点应聘建议
  5. linux视频格式查看,[原创]linux视频之搜索命令
  6. 常见Linux、ROS命令
  7. 快消品营销模式变革:一物一码BC一体化营销
  8. C# Winform点餐系统(源码+SQL Server 2008 R2)
  9. 【一整套】如何下载Jackson官方的三个最新版jar包
  10. 牛客C基础题型复习打卡(2)