"注意在rhel8中只能使用绿色软件,源码编译软件和rpm软件"
类型 | 支持的条件 |
DEB | UBlinux DEBlinux(用不了) |
RPM | #redhat centOS fadora |
bz2|gz|xz | #1.需要源码安装需要编译 #2.绿色软件,直接可用 #ntfs-3g_ntfsprogs-2017.3.23.tgz #Firefox-latest-x86_64.tar.bz2 需要编译 "configure" 绿色 |
[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]
1 2 3 4 5
1.软件名称
2.软件版本
3.软件的授权协议版本
4.软件架构
5.软件类型后缀
-ivh | 安装参数组合 -i install; -v verbose; -h hash |
-a | 所有 |
-f | 文件 |
-p | 软件包 |
-q | 查询 |
-l | 软件安装文件列表 |
-e | 卸载 |
-c | 配置文件 |
-d | 说明 |
--info | 软件信息 |
--force | 强制 |
--nodeps | 忽略依赖性 |
--script | 查询软件在安装或卸载过程中的运行脚本 |
-Kv | 检测软件md5校验码 |
-V | 检测已安装软件在系统中的文件被修改信息 |
ps:写在前面,第一次是用westosa虚拟机做的实验,前面都正常,在dnf list all查看显示没有dnf这个命令,当使用yun imstall dnf时,又显示Error: Invalid version flag: if
后来检查发现原因:建立虚拟机westosa时用的7.6镜像,搭建仓库又用的8.2镜像,可能相互矛盾。因此后面又重新建立了8.2镜像的虚拟机westosb,搭建本地软件仓库成功!
首先需要一个镜像文件且确保该镜像时可用的,什么是镜像呢?
镜像是一种文件形式,镜像文件就是和ZIP压缩包类似,将特定的一系列文件按照一定的格式制作成单一的文件,为了方便用户下载和使用。一般镜像以iso为扩展名。
镜像资源保存在/iso目录里面
在虚拟机westosa上建立一个空目录
# mkdir /source
进入放置镜像的目录/iso,将镜像挂再在新建立的空目录/source中!
# mount rhel-8.2-x86_64-dvd.iso /source/ : 将镜像挂载在/source目录中
挂载成功后,进入新建的目录/source 查看已经有很多资源了,可以通过df命令查看挂载的镜像!
镜像挂载成功后,进入/etc/yum.repos.d/目录,编写仓库配置文件westos.repo
文件名字随意,但是后缀必须是repo,否则无法识别
本地仓库由两部分组成,AppStream和BaseOS,内容含义如下:
name=AppStream :仓库名称,随意起,一般与路径一致
baseurl=file:///source/AppStream/ :镜像路径,路径必须存在
打开westosb的浏览器,输入file:///source(挂载镜像的路径地址)显示
gpgcheck=0 : gpgcheck意思是是否检查包的认证,是1就不允许安装第三方软件,是0就可以安装第三方软件。0不需要gpgkey,1需要!
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release :红帽系统自带的,进入目录复制!
编写仓库完成后,用dnf命令测试仓库是否搭建成功!
# dnf list all : 列出所有文件,列出来说明仓库搭建成功!
以上挂载镜像的方法是暂时的,虚拟机重启镜像又要重新挂载,很麻烦!
因此我们需要开机自动挂载镜像,即自动执行挂载镜像的命令,可以编写/etc/rc.d/rc.local(开机自动执行脚本),在该脚本中写入挂载镜像的命令,保存后,别忘了要修改权限!
# vim /etc/rc.d/rc.local
# chmod +x /etc/rc.d/rc.local
编写完成后重启虚拟机查看/source目录 ,发现镜像自动挂载!设置成功!
命令 | 含义 |
repolist | 列出仓库信息 |
clean all | 清除系统中已经加载的仓库缓存信息 /var/cache/dnf |
list all | 列出所有软件 |
liat 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 | 查看软件组信息 |
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
BaseOS 62 MB/s | 2.2 MB 00:00
AppStream 88 MB/s | 5.6 MB 00:00
上次元数据过期检查:0:00:01 前,执行于 2020年07月28日 星期二 15时25分49秒。
元数据缓存已建立
解决办法:
编辑文件“ /etc/yum/pluginconf.d/subscription-manager.conf”,更改参数“ enabled = 1”到“ enabled = 0”
再次执行 # dnf insatll gcc -y 仍然出现错误:
总结:下载东西出现错误首先检查软件仓库,看路径是否正确,拼写,格式等问题都很重要!!
安装gcc成功后,不小心删除了所在文件
利用 install 安装显示已经安装,但是还是无法使用!
此时利用reinstall 即可解决问题!
本次实验需要在主机上在做,主机需要联网。
epel源比本地仓库软件丰富,可以下载本地仓库没有的软件!!
在浏览器搜索epel for rhel8
安装前,目录下只有一个repo文件!
安装成功后,进入/etc/yum.repos.d目录,发现多了epel源。
利用dnf搜索yum ,下载工具!
下载成功后即可使用yumdownloader下载软件
# yumdownloader kolourpaint.x86_64 : 下载软件到当前目录
# yumdownloader kolourpaint.x86_64 --destdir=/mnt : 下载软件到指定目录
# yumdownloader kolourpaint.x86_64 --destdir=/mnt --resolve :下载软件及其依赖性
ps:这里出问题了,没解决.....