linux 软件管理(仓库的搭建 软件源中的软件下载)

1.linux中的软件包的类型

1.DEB #UBlinux DEBLinux
2.RPM #redhat cent0s fadora

3.bz2|gz|xz #1.需要源码安装编译器
#2.绿色软件,直接可用
# 需要编译“configure”
绿色
“注意在rhel8中只能使用绿色软件”

绿色软件:不用安装,直接就可以使用
需要编译的
1.环境的检测 configure
2.make
3.make install
卸载软件 make uninstall

##2.软件包的名称结构
[dhcp-server] -[4.3.6-40].[el8].[x86_64].[rpm ]
1 2 3 4 5
1.软件名称
2.软件版本
3.软件的授权协议版本
4.软件架构
5.软件类型后缀

###3.rpm命令管理软件包
rpm -ivh ##安装参数组合 -i install -v verbose -h hash
-a ##所有
-f ##文件
-p ##软件包
-q ##查询
-l ##软件安装文件列表
-e ##卸载
-c ##配置文件
-d ##说明
–info ##软件信息
–force ##强制
–nodeps ##忽略依赖性
–script ##查询软件在安装或卸载过程中的运行脚本
–Kv ##检测软件md5校验码
-V ##检测已安装软件在系统中的文件被修改信息
注:不能解决依赖性问题

镜像库的搭建
1.删除 /etc/yum.repos.d/的所有文件
自己编写hu.repo
.repo 时不能更改的

/etc/yum.repos.d/hu.repo
创建镜像库的目录
[root@westos_student25 yum.repos.d]# mount /iso/rhel-8.2-x86_64-dvd.iso /westos/
将redhat 的镜像挂载在/westos/下
在这里插入图片描述

/etc/yum.repos.d/hu.repo ##访问该文件
修改添加以下的内容

[root@westos_student25 dnf]# cat /etc/yum.repos.d/hu.repo 
[westos1]
name=AppStream
baseurl=file:///westos/AppStream
gpgcheck=0
enabled=1

在这里插入图片描述

[westos2]

name=BaseOS
baseurl=file:///westos/BaseOS
gpgcheck=0 ##不检测gpgkey
enabled=1 #启用这个库

[root@westos_student25 yum.repos.d]# curl file:///westos/AppStream
验证这个本地网址的正确性
file 是本地文件

如何开机挂载镜像
开机自动执行命令 mount /iso/rhel-8.2-x86_64-dvd.iso /westos
vim /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
和is
在这里插入图片描述

vim /etc/rc.d/rc.local 
   sh /etc/rc.d/rc.local
   chmod /etc/rc.d/rc.local 
   chmod +x   /etc/rc.d/rc.local 
   cat /etc/rc.d/rc.local 

共享型软件仓库
(局域网内)
http 提供超文本传输协议
需要安装软件httpd(共享文件)
dnf install httpd(提供超文本传输协议)
需要关闭火墙,去要开启httpd的服务
在这里插入图片描述
[root@foundation40 ~]# mount /iso/rhel-8.2-x86_64-dvd.iso /var/www/html/westos
注:该命令是将文件 镜像 挂载在/var/www/html/westos
共享目录位置/var/www/html/westos
将镜像挂载在次目录之下,我们此时就变成软件仓库

在这里插入图片描述


[root@westos_student25 yum.repos.d]# vim  /var/www/html/westos/
http服务提供的 共享目录

  231  mount /iso/rhel-8.2-x86_64-dvd.iso  /var/www/html/westos/
将本地的软件库挂载在html服务的提供的目录之下


实验环境:需要下载httpd服务
dnf install httpd -y(执行词条命令进行httpd 的下载)
需要关闭防火墙

  225  systemctl  disable --now firewalld.service 
关闭防火墙

 227  systemctl   status firewalld 
查看防火前的状态

客户端(包括的本文件修改)同一局域网内的所有人都可以通过hhtp服务访问文件
/etc/yum.repos.d (修改此文件 )
创建文件 .repo 结尾

[westos1]
name=AppStream
baseurl=http://172.25.254.40/westos/AppStream
gpgcheck=0
enabled=1

[westos2]
name=BaseOS
baseurl=http://172.25.254.40/westos/BaseOS
gpgchesk=0
enabled=1

dnf 命令的使用 (针对软件源的操作)
dnf repolist ##列出仓库信息
clean all ##清楚系统中已经加载的仓库缓存信息
list all ##列出所有软件
list available ##列出所有未安装软件
list installed ##列出所有已经安装软件
install ##安装
remove ##卸载
reinstall ##重新安装
search ##搜索
whatprovides ##搜索包含文件的软件包
history ##dnf执行历史
history info ##dnf 执行历史详细信息
注:上述都是管理一个安装包
group list ##列出所有软件组
group list --installed ##列出所有已安装 的软件组
group list --available ##列出未安装的软件组

   group list --hidden     ##列出所有隐藏软件组

   group install ##安装软件组
   group  info     ##查看软件组信息 
   演示:


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

注:安装包是不会出现在系统之中

工具是需要下载的
dnf whatprovide */yumdownloader(下载这个软件)
搜索文件的安装包

yumdownloader ##下载软件安装包到本机的指定位置
yumdownloader httpd ##下载仓库中指定软件安装包到当前目录
yumdownloader --destdir=/mnt ##下载安库中的指定安装包到指定/mnt目录
yumdownloader httpd --destdir=/mnt --resolve ##下载仓库中指定软件安装包和软件依赖性到/mnt 目录

第三方软件仓库的搭建(官方没有授权的文件,也是只能通过区域网)
可以解决软件的依赖性
dnf clean all
/var/cache/dnf 加载数据的目录

repodate .xml 文件 所有识别了的软件的元数据
dnf install httpd
关闭防火墙
mkdir /var/www/html/software
mv /mnt/* /var/www/html/software/
cd /var/www/html/software/
dnf install createrepo (用来采集数据的工具)
createrepo -v /var/www/html/software/ 扫描这文件
数据保存在 .xml.gz files 这样形式的文件中

ls
目录中会生成文件 repodate(代表软件仓库生成成功)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
不论当前位置,扫描完文件的元数据文件默认会存放在扫描的这个目录之中
在这里插入图片描述

客户端和本机(在一定意义上自己的主机也是这个软件包的客户端)

编写文件 /etc/yum.repos.d/westos.repo
[software]
name=software
baseurl=http://172.25.254.40/software
gpgcheck=0
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Antonhu/article/details/113030864