代码编织梦想

一、yum仓库简介

yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间

yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。官方的源一般在国外,下载速度肯定有限,手动更改成国内的云可以大幅提升下载速度。

软件仓库的提供方式:

网络源

  • FTP服务: ftp://…
  • HTTP服务: http://…

本地源

  • 本地目录: file://…

二、yum配置文件

2.1yum主配置文件

  • 位置:/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

2.2仓库设置文件

  • 位置:/etc/yum.repos.d/*.repo
#下面是默认仓库,是centos官方的yum源,需要联网才可以使用
[root@localhost yum.repos.d]# ls /etc/yum.repos.d/
bak               CentOS-Debuginfo.repo  CentOS-Sources.repo
CentOS-Base.repo  CentOS-fasttrack.repo  CentOS-Vault.repo
CentOS-CR.repo    CentOS-Media.repo```

2.3日志文件

  • 位置:/var/log/yum.log
  • `[root@localhost yum.repos.d]# cat /var/log/yum.log //查看日志文件

三、 yum命令详解

3.1查询软件包命令

在这里插入#显示可用的安装包
[root@localhost ~]# yum list httpd
 
#显示安装包详细信息
[root@localhost ~]#yum info  [软件名]
 
#根据关键字查找软件安装包,相当于你只知道这个包里的某个关键字会全部给你匹配出来
[root@localhost ~]#yum search  <关键词>
 
#你知道某个命令却不知道具体的包可以用此命令查找
[root@localhost ~]#yum whatprovides  <关键词>

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2查询软件包组命令

#安装包组的查询 不加包组名 就是显示所有
[root@localhost ~]#yum grouplist  [包组名]
 
#不加包组名显示全部
[root@localhost ~]# yum groupinfo  <包组名>

不加包组名显示全部

[root@localhost .ssh]# yum grouplist
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
可用的环境分组:
   最小安装
   基础设施服务器
   计算节点
   文件及打印服务器
   基本网页服务器
   虚拟化主机
   带 GUI 的服务器
   GNOME 桌面
   KDE Plasma Workspaces
   开发及生成工作站
可用组:
   传统 UNIX 兼容性
   兼容性程序库
   图形管理工具
   安全性工具
   开发工具
   控制台互联网工具
   智能卡支持
   科学记数法支持
   系统管理
   系统管理工具
完成

[root@localhost .ssh]# yum groupinfo "GNOME Desktop"
已加载插件:fastestmirror, langpacks
没有安装组信息文件
Maybe run: yum groups mark convert (see man yum)
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com

环境分组:GNOME 桌面
环境 ID:gnome-desktop-environment
 描述:GNOME 是一个非常直观且用户友好的桌面环境。
必备组:
   +base
   +core
   +desktop-debugging
   +dial-up
   +directory-client
   +fonts
   +gnome-desktop
   +guest-agents
   +guest-desktop-agents
   +input-methods
   +internet-browser
   +java-platform
   +multimedia
   +network-file-system-client
   +networkmanager-submodules
   +print-client
   +x11
可选组:
   +backup-client
   +gnome-apps
   +internet-applications
   +legacy-x
   +office-suite
   +remote-desktop-clients
   +smart-card

3.3yum安装升级

#安装软件包
[root@localhost ~]# yum install httpd
 
#安装包组名
[root@localhost ~]# yum groupinstall gnome desktop
 
#更新安装包,可以单个也可以全部 后面加具体名称就是单个更新,不加就是全部更新。但是首先你要有更新的包组库否则也无法更新。
[root@localhost yum.repos.d]# yum upgrade 
 
#组包更新
[root@localhost yum.repos.d]# yum groupupdate 
[root@localhost opt]# yum install httpd
已加载插件:fastestmirror, langpacks
base                                                 | 3.6 kB     00:00     
extras                                               | 2.9 kB     00:00     
updates                                              | 2.9 kB     00:00     
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-97.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-97.el7.centos,它被软件包 httpd-2.4.6-97.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-97.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 httpd-tools.x86_64.0.2.4.6-97.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

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

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

总下载量:2.8 M
安装大小:9.6 M
Is this ok [y/d/N]: y
Downloading packages:
(1/3): mailcap-2.1.41-2.el7.noarch.rpm                 |  31 kB   00:00     
(2/3): httpd-tools-2.4.6-97.el7.centos.x86_64.rpm      |  93 kB   00:00     
(3/3): httpd-2.4.6-97.el7.centos.x86_64.rpm            | 2.7 MB   00:01     
----------------------------------------------------------------------------
总计                                           1.3 MB/s | 2.8 MB  00:02     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : httpd-tools-2.4.6-97.el7.centos.x86_64                  1/3 
  正在安装    : mailcap-2.1.41-2.el7.noarch                             2/3 
  正在安装    : httpd-2.4.6-97.el7.centos.x86_64                        3/3 
  验证中      : httpd-2.4.6-97.el7.centos.x86_64                        1/3 
  验证中      : mailcap-2.1.41-2.el7.noarch                             2/3 
  验证中      : httpd-tools-2.4.6-97.el7.centos.x86_64                  3/3 

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

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

完毕!

安装包组名
在这里插入图片描述
在这里插入图片描述

3.4软件卸载

#卸载已安装的软件必须加软件名
[root@localhost yum.repos.d]# yum remove httpd
 
#查看历史的使用记录,选择ID 12345,可以使用yum history undo 4 进行卸载,这样对比remove好处是可以将所有的依赖都删除
[root@localhost yum.repos.d]# yum history 
[root@localhost .ssh]#  yum history undo 3 //3代表id号
 
#如果后悔 卸载 可以使用两种方式
 
yum history redo 4 (重新安装一遍)
 
yum history undo 6 (反悔卸载等于重新安装一遍)

四、搭建yum仓库

4.1搭建本地yum仓库

1.首先将光驱中的镜像文件进行挂载(先将虚拟机的光盘载入)

[root@localhost ~]# mount /dev/sr0 /mnt/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# df -Th                          //查看下挂载
文件系统                类型      容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root xfs        37G  7.5G   30G   21% /
devtmpfs                devtmpfs  977M     0  977M    0% /dev
tmpfs                   tmpfs     993M     0  993M    0% /dev/shm
tmpfs                   tmpfs     993M  9.1M  984M    1% /run
tmpfs                   tmpfs     993M     0  993M    0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  161M  854M   16% /boot
tmpfs                   tmpfs     199M  4.0K  199M    1% /run/user/42
tmpfs                   tmpfs     199M   52K  199M    1% /run/user/0
/dev/sr0                iso9660   4.3G  4.3G     0  100% /mnt   

2.切换到 yum.repo.d 目录 将自带的仓库移走,多个开启仓库文件可能会造成冲突无法使用

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# ls
bak

3.新建yum仓库文件

[root@localhost yum.repos.d]# vim abc.repo
[abc]
name=abc
baseurl=file:///mnt
enabled=1
gpgcheck=0
#gpgkey=file:etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7               //若gpgcheck=1

4.yum list 检查仓库 无报错信息即可正常使用。

#/data/目录如果不存在,会自动创建
[root@localhost ]#yum -y install --downloadonly --downloaddir=/data/bind  bind

4.2 搭建阿里云仓库 (http方式外网环境)

1.切换到 yum.repo.d 目录 将自带的仓库移走

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak/
[root@localhost yum.repos.d]# ls
bak

2.新建yum仓库

[ali]
name=aliyun
#baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/                  //开启哪个都可以正常使用,这边主要解释变量的作用
baseurl=https://mirrors.aliyun.com/centos/$releasever/os/$basearch/    //变量参见主配置文件2.1小节
gpgcheck=0
 
[epel]                                                                //epel源仓库
name=epel
baseurl=https://mirrors.aliyun.com/centos/7/extras/x86_64/
gpgcheck=0
 
[update]                                                             //更新包仓库
name=update
baseurl=https://mirrors.aliyun.com/centos/7/updates/x86_64/
gpgcheck=0

4.3ftp方式搭建云仓库

服务端:192.168.100.100
客户端:192.168.100.101

1.服务端安装vsftp服务

[root@localhost ~]# yum install vsftpd.x86_64 -y

2.服务端切换到 ftp目录下新建一个centos7目录

[root@localhost ~]# cd /var/ftp/
[root@localhost ftp]# ls
pub
[root@localhost ftp]# mkdir centos7 other
[root@localhost ftp]# ls
centos7  other  pub
[root@localhost ftp]# 

3.服务端将光驱里的文件包全部拷到centos7里面

[root@localhost ftp]# cp -rf /mnt/* centos7/ &  
[root@localhost ftp]# cd centos7/
 
[root@localhost centos7]# ls                           //已将安装包文件拷入
[root@localhost ~]# cd /var/ftp/other
 
#建立数据库文件
[root@localhost other]# createrepo -g /mnt/repodata/repomd.xml ./

4.服务端开启相关服务,关闭防火墙和selinux

[root@localhost other]# systemctl stop firewalld.service 
[root@localhost other]# setenforce 0
[root@localhost other]# systemctl start vsftpd

5.客户端安装ftp 服务并启动关闭防火墙和selinux

[root@localhost yum.repos.d]# yum install ftp
[root@localhost repodata]# systemctl stop firewalld.service
[root@localhost repodata]# setenforce 0
 
#服务器默认开启
[root@localhost yum.repos.d]# systemctl start ftp

6.测试ftp服务是否正常

[root@localhost yum.repos.d]# ftp 192.168.59.117
Connected to 192.168.59.117 (192.168.59.117).
220 (vsFTPd 3.0.2)
Name (192.168.59.117: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,59,117,141,116).
150 Here comes the directory listing.
drwxr-xr-x    8 0        0             220 Oct 06 10:45 centos7
drwxr-xr-x    3 0        0              22 Oct 06 10:50 other
drwxr-xr-x    2 0        0               6 Jun 09 16:15 pub
226 Directory send OK.
ftp> 

7.编写yum仓库文件

[root@localhost yum.repos.d]# vim centos7.repo
[centos7]
name=centos7
baseurl=ftp://192.168.59.117/centos7
enabled=1
gpgcheck=0
#=
 
 
[other]
name=other
baseurl=ftp://192.168.59.117/other
enabled=1
gpgcheck=0

8.测试是否yum可以正常使用

[root@localhost yum.repos.d]# yum install dhcp
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Stephencurr/article/details/120706436

linux之yum仓库配置_水月风情的博客-爱代码爱编程_yum库

1 概述 YUM(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 在Linux上使用源码的方式安装软件非常满

内网下yum仓库搭建配置+服务器yum源配置_北洋的青春的博客-爱代码爱编程

在项目实施过程中,很多实施单位存在没有外网的情况。此时,在服务器上直接使用Yum命令根本无法使用,为了方便在本地搭建环境,为了方便快捷安装软件依赖包,我们采用临时解决方案进行本地Yum仓库搭建,不但可以供搭建机器使用,更可以

linux中网络yum配置详解_youngyoungdba的博客-爱代码爱编程

计算机小白,希望所学知识能够帮助大家,欢迎大家给我点赞哈哈(皮一下) 网络YUM配置详解 服务器端 1.安装启动FTP服务 //安装FTP服务后才能将rpm软件包对外共享 先查询一下vsftpd-2.0.5-16.el5_4

linux下配置本地yum源仓库-爱代码爱编程

在Linux系统下安装应用软件,不像window下那样方便,有时需要事先安装很多RPM包,而有些RPM包与RPM包之前存在依赖关系,这样安装就会很麻烦。要是配置一个本地yum源仓库,就可以直接使用yum命令,将有依赖的RPM包一次安装。本文以RedHat为例,其他Linux系统类似。   1.使用df命令,查看系统光盘挂载位置。

linux网络 ------ 部署yum 仓库服务-爱代码爱编程

一、什么是yum? Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载R

linux-yum命令-爱代码爱编程

linux yum 命令 yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。 基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。 yum提供了查找、安装、删除某一

Linux命令行基础 挂载 复制 移动 删除(DAY3)-爱代码爱编程

一、命令行基础 命令行的格式 命令字 [选项]… [参数1] [参数2]… [ ] 表示里面的内容可有可无 在执行一个命令的时候,命令字必须存在,选项和参数可有可无 命令字 选项 参数之间必须有空格 选项:用来调控执行方式 单个字符一般用- 单词一般用– eg: (以下命令不需要理解意思,只需要知道谁是命令字,谁是选项,选项什么时候-,什么时候用–)ls

linux 基础之-国内源、镜像仓库-爱代码爱编程

一、源、软件包 1.1 仓库地址 阿里源仓库:http://mirrors.aliyun.com (全) 163源仓库:http://mirrors.163.com/.help 清华源仓库:https://mirror.tuna.tsinghua.edu.cn/help/AOSP/ 中科大源仓库:https://mirrors.ustc.edu.

linux设置多个iso做yum,在 linux中实现YUM的三种方法-爱代码爱编程

RHEL5中实现各种服务的准备条件 【制作YUM本地源:】 YUM简介: YUM是Yellow dogUpdater Modified的简称,yum是软件的仓库,它可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header, header包括了rpm包的各种信息,包括描述,功能,提供帝现的文件,依赖性等.正是收集了这些 he

linux yum配置公网,配置yum源并与公网同步更新-爱代码爱编程

服务器端: 1.服务器上YUM源同步网络YUM源 [root@host66 ~]# crontab -l # rsync yum source 00 02 * * * /usr/bin/rsync -aqrtzH --delete --exclude=SRPMS/ --exclude=x86_64/ --exclude=isos/ rsync:

npm设置和查看仓库源-爱代码爱编程

在使用npm命令时,如果直接从国外的仓库下载依赖,下载速度很慢,甚至会下载不下来,我们可以更换npm的仓库源,提高下载速度。 此处以淘宝镜像为例,如果公司有本地仓库,将地址修改为公司仓库地址即可。 可以通过以下方式进行修改: 临时使用 //本次从淘宝仓库源下载 npm --registry=https://registry.npm.taoba

Linux网络服务之yum仓库-爱代码爱编程

一、yum仓库简介 yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。 yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜

linux网络yum仓库-爱代码爱编程

文章目录 一. YUM概述二.配置YUM仓库1.配置本地源仓库2.配置ftp源3.配置网络源三.yum 命令 一. YUM概述 基于RPM包构建的软件更新机制可以自动解决依赖关系所有软件包由集中的YUM软件仓库提供       要成功使用 YUM 机制来更新系统和软件,需要有一个包含各种 rpm 安装包文件及其依 赖软件的软件仓库,提供软件仓

Linux网络服务 - yum仓库-爱代码爱编程

文章目录 一、yum概述1.1 YUM (Yellow dog Updater Moddified)1.2 软件仓库的提供方式1.3 RPM 软件包的来源二、yum配置文件2.1 基本设置2.2 仓库设置文件2.3 日志文件三、yum命令3.1 查询软件包命令3.2 查询软件包组命令3.3 yum安装升级3.4 软件卸载四、 搭建yum仓库4

【yum】yum 源的配置与使用-爱代码爱编程

一、yum 简介   yum,是Yellow dog Updater, Modified 的简称,是杜克大学为了提高RPM 软件包安装性而开发的一种软件包管理器。起初是由yellow dog 这一发行版的开发者Terra Soft 研发,用python 写成,那时还叫做yup(yellow dog updater),后经杜克大学的Linux@Duke 开