配置软件仓库和管理软件包
一、软件仓库的搭建
1. 建立阿里云仓库
阿里云主页: https://www.aliyun.com/product/list.
点击镜像站,选择安装epel 和 centos
2. 本地软件仓库的搭建
-
系统软件仓库的作用
(1)在系统中对软件进行管理
(2)rpm命令是不能解决依赖关系的
(3)如果需要软件在安装过程中自动解决依赖关系,需要搭建系统软件仓库 -
搭建方法
cd /etc/yum.repos.d/
切换到目录
rm -rf /etc/yum.repos.d/*
可以在实验前把目录里面的东西全部删掉,便于观察
mkdir /westos
建立挂载目录用来读取镜像
mount /xxxx/rhel8.2-xxxxxxxx.iso /westos
mount挂载命令后跟,镜像文件所在的绝对路径和镜像名称 ,其后跟建立的挂载目录
-
编写软件仓库软件源指向文件
在此目录中不能有无法访问的源指向
cd /etc/yum.repos.d/
进入软件源指向文件配置目录
vim /etc/yum.repos.d/westos.repo
编辑软件仓库指向文件
-
测试安装c语言软件包 :dnf install gcc -y
3. 配置网络软件仓库并自动挂载
-
网络共享基本信息
共享方式http:// 超文本传输协议
提供此协议的软件 Apache
软件包名称:httpd
共享位置 :/var/www/html -
搭建方法
1.利用镜像先搭建本地软件仓库(上面有写)
2.dnf install httpd -y
在本地软件仓库配置好的条件下安装共享软件 httpd
3.启用共享软件Apache
[ 因为火墙设定没学,所以实验在关闭火墙下操作 ]
systemctl enable --now httpd
开启http服务,并设定开机自启
4.vim /etc/yum.repos.d/westos.repo
建立软件仓库指向文件
注意:此文件中的 http://172.25.254.40/westos/AppStream必须是可用的,可以用浏览器访问此网址,或者在shell中输入命令 curl + 此网址查看
5.mkdir /var/www/html/westos
apache默认共享目录 /var/www/html/下的文件
6.vim /etc/rc.d/rc.local
设定开机自动挂载镜像
7.sh /etc/rc.d/rc.local
运行脚本使内容生效,自动挂载镜像
8.chmod 755 /etc/rc.d/rc.local
给文件加可执行权限,否则开机不会自动挂载
至此网络软件仓库就搭建好了,每次开机便会自动挂载,可用浏览器访问 http://172.25.254.40/westos/ 进行查看
-
远程主机使用网络仓库源
在远程主机中执行操作vim /etc/yum.repos.d/xxx.repo
建立软件源指向文件,文件名xxx可任意命名,文件内容如下,写完后按 < esc > 然后输入 :wq 保存文件并退出。
4. 配置第三方软件仓库
- 使用dnf命令管理第三方软件,使第三方软件在网络中共享 (详细dnf管理命令在文末)
-
mkdir /var/www/html/software
在apache默认发布目录下建立共享目录 -
把所有的第三方软件存放到共享目录
/var/www/html/software
中
注意:/var/www/html/software中只能存在rpm类型的文件,rpm压缩包要用rpm命令管理 -
采集第三方软件数据生成repodate目录
dnf install createrepo -y
安装采集工具
cd /var/www/html/software
进入到共享目录
createrepo .
在当前目录下对共享目录中安装包进行扫描生成repodate数据目录 -
vim /etc/yum.repos.d/westos.repo
新建仓库指向源文件,在测试主机中指定第三方共享源,内容如下:
[software]
name=software
baseurl=http://172.25.254.20/software
gpgcheck=0
二、软件包的管理
1. 软件包的类型
注:在rhel8中只能使用绿色软件,源码编译软件和rpm软件
- DEB UBlinux DEBlinux ------- redhat不能适用
- RPM redhat centOS fadora
- bz2|gz|xz 压缩包可分为
(1)需要源码安装需要编译
(2)绿色软件,直接可用, 运行sh脚本,移到/bin/目录下变成命令
2. 软件包的名称结构
1 | 软件名称 |
2 | 软件版本 |
3 | 软件的授权协议版本 |
4 | 软件架构 |
5 | 软件类型后缀 |
3. rpm命令管理 . rpm软件包
格式:rpm 参数 软件包全称
常用参数
参数 | 功能 |
---|---|
-ivh | 安装参数组合 -i install -v verbose -h hash |
-a | 所有 |
-f | 文件 |
-p | 软件包 |
-q | 查询 |
-l | 软件安装文件列表 |
-e | 卸载 |
-c | 配置文件 |
-d | 说明 |
–info | 软件信息 |
–force | 强制 |
–nodeps | 忽略依赖性 |
–script | 查询软件在安装或卸载过程中的运行脚本 |
-Kv | 检测软件md5校验码 |
-V | 检测已安装软件在系统中的文件被修改信息 |
4. dnf 软件管理命令
命令格式: dnf 参数 软件包名
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 repolist 列出仓库信息
dnf search dhc 找出所有含有dhc的安装包
dnf install xxx-server.x86_64 安装软件
- yumdownloader 下载软件包到本机指定位置
dnf install yum-utils-4.0.12-3.el8.noarch -y
安装yum软件包
yumdownloader httpd
下载仓库中指定软件的安装包到当前目录
yumdownloader --destdir=/mnt
下载仓库中指定软件的安装包到指定/mnt目录
yumdownloader httpd --destdir=/mnt --resolve
下载仓库中指定软件安装包和软件依赖性到/mnt目录