第4节. 实现yum源仓库和使用yum管理软件以及dnf

定下来学某个东西的时候,就要摸清楚来龙去脉,这样比较对得起人这种动物它这个脑部、神经、心跳节奏的规律。否则不舒服的,我在试图理解底层心理学?显然这是不对的,感觉对了就好。

配置内网的YUM源

yum -y install httpd

img

安装httpd服务,通过光盘镜像安装就行(各种rpm包,和yum仓库-repodata元数据)

通过rpm -ql 查看安装的文件

systemctl start httpd

img

img

img

目录结构

img

所以就是/var/www/html/centos/7/os/x86_64

img

image-20220214173023977

img

img

把centos7的安装光盘整个目录复制过去,也可以挂在光盘的。

img

再接一个CENTOS6的

img

img

img

把对应的光盘挂过去-工作中复制过去

img

临时挂用命令mount就行

img

img

img

img

centos6的也有了

img

yum源就OK了。

服务端就配置好了,下面开始配置CLIENT

img

只要不是repo后缀的就不会干扰repo源。

img

img

img

img

验证可以不写,写的话也很简单

img

这就是校验文件,赋值一下路径

img

img

搞定,当然上面的6也可以用$releasever替代他

测试下

img

img

这里注意下,6713个包的解释:我们就挂了一张盘,但是6K个包是两张盘的总量,可能就是第一张盘里有两张盘的包总量信息。然后一些偏门的包在第二张盘里,你是安装不了的。

以上就是基于HTTP协议的yum源

如果没有光驱-显然基本都没有,就用iso文件去挂

img

光盘可以挂,ISO文件也可以挂

然后web看到就成功了

img

但是前置条件别忘了:selinux和防火墙

img

还有客户端

img

其他补充

img

mirrorlist是把多个路径写到一个文件里

现在这个机器可以指两个源,准备添加一个网上的阿里源:

复制远端路径

image-20220214175841504

img

img

img

把上面的txt路径一复制,贴到下面去就行了。

img

搞定了

不信可以看看centos默认的yum源写法,他也是用的mirrorlist的。

img

image-20221012175849158

包组的管理用group

img

group分为环境组和普通组,环境组就是安装系统的时候让你选择的包--老王使用的事GNOME Destop,老刘使用的是Server with GUI,俺使用的是Minimal Install。

你选择某一种比如Serer with GUI就会对应地安装很多包。

image-20220214180924589

开发包组里的包

"Development Tools"注意引号,否则当作两个包组了。

img

img

强制组、可选组

img

不是随着group包组安装的,是随系统安装的。

不同符号不同状态

img

groupinstall可以连起来写

工作中一般不用包组group,都是需要什么安装什么,group里的东西可能太多了。

yum 的脚本安装可以加上-q

img

--disablerepo和--enablerepo没有试验成功,不知道咋弄的,不过我倒是可以用sed 来开关。恩,也不常用。这么用的,临时的,所以是要配和install xx一起用的

image-20221230152927591

img

创建自定义的仓库createrepo-其实就是为一堆rpm包生成元数据。

仓库虽然说要rpm包和元数据以及公钥,但实际上站在机器角度,仓库其实就只要一个repodata文件夹和里面的元数据。

自己研发的rpm包,或者网上找的单个rpm包,没有现成的仓库,或是就算你down的是常规的rpm包,但是仓库没down,也可以自己生成。这个题外话参考别人的博客https://www.jianshu.com/p/3b669bcebfb6

img

👆这样仓库的元数据就有了。

img

image-20220214204839607

img

但是有个问题

img

httpd要开启443

img

仓库路径得找repodata的路径。

img

如图是在server下的,而其他的分别是集群、集群存储、server、虚拟化的repodata

多个repodata就是多个yum源。如果你不需要就配一个yum源就行了。

img

上图👆两个点①cat 重定向写法ctrl + d安全退出才行②baseurl的路径是repodate的pwd路径。

img

image-20220214205730555

DNF

img

dnf比yum的优势据说就是速度快

img

img

推荐yum install *.rpm因为包可能不全,还需要依赖。

img

这样就可以用dnf了,

img

dnf的使用和yum一样

仓库配置也是一样yum的配置文件。

img

比较下dnf的性能

img

img

img

img

img

img

img

= = 效果不行啊,哈哈

time dnf reinstall httpd -y
time yum reinstall httpd -y
这个可以看到dnf快些,可能。

yum其实是python写的程序

img

img

img

yum底层就是依赖于rpm的

小软件编译举例

img

img

img

上图gcc hello.c 回车,会自动生成一个a.out。注意上图不是一个命令哦。

指定一个名称-o

img

img

将来要编译的软件必然不是一个c文件咯:

看看这个httpd的源码有多少个c

img

img

解开的文件里有284个c文件

gcc 能搞定吗?还有编译先后顺序的。所以就不是gcc这种方式了。

那是项目了,项目管理工具了,不同的语言编译工具不一样。JAVA用maven。C语言里make

Copyright 🌹 © oneyearice@126.com 2022 all right reserved,powered by Gitbook文档更新时间: 2024-07-28 14:47:32

results matching ""

    No results matching ""