复习之linux系统中的软件管理

一、linux系统中软件包

1.软件包的类型

"注意在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"
绿色

2.软件包的名称结构

[dhcp-server]-[4.3.6-30].[el8].[x86_64].[rpm]
      1                       2           3          4           5

1.软件名称
2.软件版本
3.软件的授权协议版本
4.软件架构
5.软件类型后缀

二、rpm命令管理软件包

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

三、本地软件仓库的搭建

1.为什么要搭建软件仓库?

  • 在系统中对软件进行管理
  • rpm命令是不能解决依赖关系的
  • 如果需要软件在安装过程中自动解决依赖关系需要搭建系统软件仓库

2.搭建本地软件仓库的方法

ps:写在前面,第一次是用westosa虚拟机做的实验,前面都正常,在dnf  list all查看显示没有dnf这个命令,当使用yun imstall dnf时,又显示Error: Invalid version flag: if

后来检查发现原因:建立虚拟机westosa时用的7.6镜像,搭建仓库又用的8.2镜像,可能相互矛盾。因此后面又重新建立了8.2镜像的虚拟机westosb,搭建本地软件仓库成功!

复习之linux系统中的软件管理_第1张图片

(1)搭建前的准备

首先需要一个镜像文件且确保该镜像时可用的,什么是镜像呢?

镜像是一种文件形式,镜像文件就是和ZIP压缩包类似,将特定的一系列文件按照一定的格式制作成单一的文件,为了方便用户下载和使用。一般镜像以iso为扩展名。

镜像资源保存在/iso目录里面

复习之linux系统中的软件管理_第2张图片

复习之linux系统中的软件管理_第3张图片

在虚拟机westosa上建立一个空目录

# mkdir  /source

 (2) 挂载镜像

进入放置镜像的目录/iso,将镜像挂再在新建立的空目录/source中!

# mount    rhel-8.2-x86_64-dvd.iso    /source/ : 将镜像挂载在/source目录中

复习之linux系统中的软件管理_第4张图片

 挂载成功后,进入新建的目录/source 查看已经有很多资源了,可以通过df命令查看挂载的镜像!

(3)编写仓库配置文件

镜像挂载成功后,进入/etc/yum.repos.d/目录,编写仓库配置文件westos.repo

文件名字随意,但是后缀必须是repo,否则无法识别

复习之linux系统中的软件管理_第5张图片

 本地仓库由两部分组成,AppStream和BaseOS,内容含义如下:

name=AppStream  :仓库名称,随意起,一般与路径一致
baseurl=file:///source/AppStream/  :镜像路径,路径必须存在

打开westosb的浏览器,输入file:///source(挂载镜像的路径地址)显示

复习之linux系统中的软件管理_第6张图片在点击Appstream,复制连接写入repo文件即可!

复习之linux系统中的软件管理_第7张图片
gpgcheck=0 : gpgcheck意思是是否检查包的认证,是1就不允许安装第三方软件,是0就可以安装第三方软件。0不需要gpgkey,1需要!
gpgkey=/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release :红帽系统自带的,进入目录复制!

复习之linux系统中的软件管理_第8张图片
enabled=1:表示使用该仓库

(4)测试

编写仓库完成后,用dnf命令测试仓库是否搭建成功!

# dnf  list all : 列出所有文件,列出来说明仓库搭建成功!

复习之linux系统中的软件管理_第9张图片

 3.开机自动挂载镜像

以上挂载镜像的方法是暂时的,虚拟机重启镜像又要重新挂载,很麻烦!

复习之linux系统中的软件管理_第10张图片

因此我们需要开机自动挂载镜像,即自动执行挂载镜像的命令,可以编写/etc/rc.d/rc.local(开机自动执行脚本),在该脚本中写入挂载镜像的命令,保存后,别忘了要修改权限!

#  vim    /etc/rc.d/rc.local

#  chmod   +x   /etc/rc.d/rc.local

复习之linux系统中的软件管理_第11张图片

编写完成后重启虚拟机查看/source目录 ,发现镜像自动挂载!设置成功!

复习之linux系统中的软件管理_第12张图片

四、dnf软件管理命令

1.基本命令

命令 含义
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 查看软件组信息

2.实验

(1)在执行 # dnf   insatll   gcc  -y 时出现错误:

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 仍然出现错误:

复习之linux系统中的软件管理_第13张图片检查本地仓库,发现问题:

复习之linux系统中的软件管理_第14张图片

 总结:下载东西出现错误首先检查软件仓库,看路径是否正确,拼写,格式等问题都很重要!!

(2) # dnf  reinstall 用法

安装gcc成功后,不小心删除了所在文件

复习之linux系统中的软件管理_第15张图片

 利用 install 安装显示已经安装,但是还是无法使用!

复习之linux系统中的软件管理_第16张图片

 此时利用reinstall 即可解决问题!

复习之linux系统中的软件管理_第17张图片

 五、软件下载---(yumdownloader)

本次实验需要在主机上在做,主机需要联网。

1. 添加epel源

epel源比本地仓库软件丰富,可以下载本地仓库没有的软件!!

在浏览器搜索epel for rhel8

复习之linux系统中的软件管理_第18张图片复制该连接,在主机上下载

复习之linux系统中的软件管理_第19张图片

安装前,目录下只有一个repo文件!

 

 安装epel源,注意!!一定要安装成功!复习之linux系统中的软件管理_第20张图片

 安装成功后,进入/etc/yum.repos.d目录,发现多了epel源。

复习之linux系统中的软件管理_第21张图片

2. 下载yumdownloader工具

利用dnf搜索yum ,下载工具!

复习之linux系统中的软件管理_第22张图片

 下载成功后即可使用yumdownloader下载软件

# yumdownloader   kolourpaint.x86_64  : 下载软件到当前目录

复习之linux系统中的软件管理_第23张图片

# yumdownloader    kolourpaint.x86_64     --destdir=/mnt  : 下载软件到指定目录

复习之linux系统中的软件管理_第24张图片#  yumdownloader     kolourpaint.x86_64   --destdir=/mnt   --resolve :下载软件及其依赖性

ps:这里出问题了,没解决.....

复习之linux系统中的软件管理_第25张图片


 

你可能感兴趣的:(linux,运维,服务器)