RHCE认证题解

考前说明

请勿更改 IP 地址。DNS 解析完整主机名,同时也解析短名称。• 所有系统的 root 密码都是 redhat• Ansible 控制节点上已创建用户账户 devops。可以使用 ssh 访问• 所需的所有镜像保存在镜像仓库 utility.lab.example.compodman 可使用下述账号登录使用 用户:admin密码:redhat• 所有工作文件应保存在控制节点上的 /home/devops/ansible 目录中,且归devops 所有• devops 的默认 ansible-navigator 配置: ~devops/.ansible-navigator.yml 参考讲师提供的文件• 练习中的防火墙默认关闭,SELinux 处于强制模式 file 目录提供一些额外文件,考试会正常提供• 产品文档位置 http://materials.example.com/docs/• 模拟环境中提供的工具文件已经提供,、连接地址:http://materials.example.com/tools通过 wget 下载即可

配置位置

所有配置均在workstation主机中完成!!!

start→ALL

  

  

或者通过ssh直接远程登陆:

1.安装并配置 Ansible

在控制节点 workstation.lab.example.com 上安装和配置 Ansible:– 安装所需的软件包– 创建静态清单文件 /home/devops/ansible/ 要求如下:– servera 是 dev 主机组的成员– serverb 是 test 和 balancers – serverc 和 serverd 是 prod 主机组的成员– prod 组是 webservers 主机组的成员创建名为 /home/devops/ansible/ansible.cfg 的配置文件,要求如下:– 主机清单文件为 /home/devops/ansible/inventory – 默认内容集合目录为 /home/devops/ansible/mycollection– 默认角色目录为 /home/devops/ansible/roles

配置:

=========================↓为练习环境配置,真实考试不用做======================

真实考试环境配置已经写好了,但模拟练习要去超级用户那复制模板:

👇不想下面这么麻烦可以直接:sudo cp /root/ansible-navigator.yml /home/devops/ansible/

 练习环境有问题(没有私钥),需要执行下面这一条解决,真实考试不需要执行下面这一条👇

=========================↑为练习环境配置,真实考试不用做======================

ansible配置文件读取优先级:当前目录>家目录>系统目录

当前目录:

家目录:

系统目录:

复制内容:

 

 

 

👾如果不提权的话被控主机就会以devops身份执行命令

 

检验测试:

测试提权控制主机:

列出清单列表:

。。。省略上半段

2.创建 yum 仓库

作为系统管理员,需在受管节点上安装软件。• 创建 playbook /home/devops/ansible/yum_repo.yml,该 playbook 将在各个受管节点上• 创建以下 yum 仓库:– 仓库 1:• 仓库的名称为 RH294_BASE• 描述为 RH294 base software• BaseURL 为:http://content.example.com/rhel9.0/x86_64/dvd/BaseOS• GPG 签名检查为启用状态• GPG 密钥 URL 为:http://content.example.com/rhel9.0/x86_64/dvd/RPM-GPG-KEY-redhat-release• 仓库为启用状态– 仓库 2:• 仓库的名称为 RH294_STREAM• 描述为 RH294 stream software• BaseURL 为:http://content.example.com/rhel9.0/x86_64/dvd/AppStream• GPG 签名检查为启用状态• GPG 密钥 URL 为:http://content.example.com/rhel9.0/x86_64/dvd/RPM-GPG-KEY-redhat-release• 仓库为启用状态

配置:

设置vim工作模式,方便playbook的书写:

编辑playbook:

然后复制出仓库2:

运行playbook:

检验测试:

3.安装 Collections

以 devops 身份,将以下 collections 从资源连接目录中安装到workstation.lab.example.com  • redhat-rhel_system_roles-1.16.2.tar.gz • ansible-posix-1.4.0.tar.gz • community-general-4.3.0.tar.gz • 资源连接:http://materials.example.com/tools集合应安装到默认集合目录 /home/devops/ansible/mycollection

=================================↓简便法==================================

编写下载playbook:

安装:

检验测试:

=================================↑简便法==================================

方法二:

检验测试:

4.安装软件包

 创建名为 packages.yml 的 playbook:– 将 php 和 mariadb 软件包安装到 dev、test 和 prod 组中的主机上– 将 RPM Development Tools 包组安装到 dev 组中的主机上– 将 dev 组中主机上的所有软件包更新为最新版本

配置:

 编辑playbook:

查看EXAMPLES帮助:

运行安装:

👆php 和 mariadb 软件包安装成功

👆动作用latest和present都可以

👾latest和present都可以表示安装,但只有latest能执行更新

运行playbook:

👆这个执行过程会比较漫长

检查测试:

👆换serverb/c都可以看看

5.使用角色

根据以下要求创建名为 selinux.yml 的 playbook:– 在所有受管节点上运行– 使用 selinux 角色– 将 SELinux 策略为 targeted – 将 SELinux 状态为 enforcing

配置:

编辑ansible配置文件去指定角色:

查询帮助:

编辑playbook:

=========================================================================

练习环境有问题,需做以下操作

报错处理--仅练习环境,然后再次执行剧本:
[devops@workstation ansible]$ ssh devops@servera
[devops@servera ~]$ sudo mv /usr/lib/python3.9/site-packages/OpenSSL/crypto.py{,.bak}
[devops@workstation ansible]$ ansible-navigator run -m stdout selinux.yml

=========================================================================

运行playbook:

检查测试:

题二(二题出一题来考)

**使用** **Timesync RHEL系统角色**安装 RHEL 系统角色软件包,并创建符合以下条件的playbook/home/devops/ansible/timesync.yml1. 在所有受管节点上运行
2. 使用 timesync 角色
3. 配置该角色,以使用当前有效的 NTP 提供
4. 配置该角色,以使用时间服务器 classroom.example.com

配置:

查看帮助:

编辑playbook:

运行playbook:

测试:

6.使用 Ansible Galaxy 安装角色

创建 /home/devops/ansible/roles/requirements.yaml 文件用以下载并安装角色到 /home/devops/ansible/roles/ 目录中– 角色名:balancer,来自于 http://materials.example.com/tools/haproxy.tar – 角色名:phpinfo,来自于 http://materials.example.com/tools/phpinfo.tar

配置:

安装:

检查测试:

7.创建和使用角色

根据下列要求,在 /home/devops/ansible/roles 中创建名为 apache 的角色:– 安装 httpd 软件包,开机启动并立即运行• 开启防火墙并允许 web 服务通信• 模板文件 index.html.j2 用于创建/var/www/html/index.html,含有以下内容:Welcome to HOSTNAME on IPADDRESS,其中 HOSTNAME 和 IPADDRESS 来自于事实变量• 创建名为 newrole.yml 的 playbook,并使用此角色• 这个 playbook 运行于 webservers 主机组

配置:

捕捉事实变量:

编写j2模板:

编写动作:

检查角色:

编写playbook:

运行playbook:

检查测试:

8.从 Ansible Galaxy 使用角色

创建名为 roles.yml 的 playbook,满足以下要求:– Playbook 运行在 balancers 主机组上,并使用 balancer 角色。– 这个角色为 webservers 主机组配置负载均衡 web 服务器配置完成后,当访问 http://serverb.lab.example.com 将显示以下输出信息:• Welcome to serverc.lab.example.com on 172.25.250.12 • Welcome to serverd.lab.example.com on 172.25.250.13• 这个 playbook 中另一个 play 使用 phpinfo 角色在 webservers 主机组上执行完毕后,访问主机组内每台主机的/hello.php 显示以下信息:– Hello World from FQDN • FQDN 来自于事实变量• 页面同时显示每台受控主机的 PHP 配置

配置:

↑webservers不要写火墙,因为上一题已经做过

运行playbook:

检查测试:

9.创建和使用分区

根据下列要求,创建名为 partition.yml 的 playbook:– playbook 中包含一个 play,该 play 在 balancers 主机组中的主机上运行• 在设备 vdb 上创建单个主分区,编号为 1,大小为 1500 MiB • 使用 ext4 文件系统格式化分区• 将文件系统永久挂载到 /newpart • 如果无法创建请求的分区大小,应显示错误消息– Could not create partition of that size - 并且应改为使用大小 800 MiB • 如果设备 vdd 不存在,应显示错误消息– Disk does not exist

配置:

创建playbook:

运行playbook:

检查测试:

题二(考试时二出一)创建和使用逻辑卷

创建一个名为/home/devops/ansible/lv.yml 的playbook,它将在dev和prod上运行以执行下列任务1. 创建符合以下要求的逻辑卷:逻辑卷创建在 research 卷组中逻辑卷名称为 data逻辑卷大小为 600MiB2. 使用 ext4 文件系统格式化逻辑卷
3. 如果无法创建请求的逻辑卷大小,应显示错误消息Could not create logical volume of that size,并且应改为使用大小 400MiB。4. 如果卷组research 不存在 ,应显示错误消息Volume group does not exist5. 不要以任何方式挂载逻辑卷

====↓准备工作,5台虚拟机均没有对应的卷组和逻辑卷, 因此先准备分区和卷组(考试不需要)====

#server[a:b]卷组为800M,server[c:d]卷组为500M.[devops@workstation ansible]$ vim lvm_pre.yml
- hosts: devtasks:- name: Create partition for LVMcommunity.general.parted:device: /dev/vdbnumber: 1flags: [ lvm ]state: presentpart_start: 1MiBpart_end: 800MiB- name: create research vgcommunity.general.lvg:vg: researchpvs: /dev/vdb1- hosts: prodtasks:- name: Create partition for LVMcommunity.general.parted:device: /dev/vdbnumber: 1flags: [ lvm ]state: presentpart_start: 1MiBpart_end: 600MiB- name: create research vgcommunity.general.lvg:vg: researchpvs: /dev/vdb1[devops@workstation ansible]$ ansible-navigator run -m stdout lvm_pre.yml

====↑准备工作,5台虚拟机均没有对应的卷组和逻辑卷, 因此先准备分区和卷组(考试不需要)====

配置:

---
- hosts: dev,prodtasks:- name: check vgansible.builtin.debug:msg: Volume group does not existwhen: "'research' not in ansible_lvm.vgs"- name: Create lvmblock:- name: creat 600MiBcommunity.general.lvol:vg: researchlv: datasize: 600when: "'research' in ansible_lvm.vgs"rescue:- name: creat 400MiBcommunity.general.lvol:vg: researchlv: datasize: 400when: "'research' in ansible_lvm.vgs"- name: show erroransible.builtin.debug:msg: Could not create logical volume of that sizewhen: "'research' in ansible_lvm.vgs"always:- name: ext4community.general.filesystem:fstype: ext4dev: /dev/research/datawhen: "'research' in ansible_lvm.vgs"

运行:

测试:

10.生成主机文件

将 http://materials.example.com/tools/hosts.j2 模板文件
拷贝到/home/devops/ansible 目录中完善此模板文件,用以生成
受控节点的 /etc/myhosts 文件创建名为 hosts.yml 的playbook 
对 dev 主机组使用此模板文件/etc/myhosts 文件内容最终如下:127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 172.25.250.10 servera.lab.example.com servera 172.25.250.11 serverb.lab.example.com serverb 172.25.250.12 serverc.lab.example.com serverc 172.25.250.13 servera.lab.example.com serverd

开桂简便法:

复制展示内容:

编写yml:

运行:

测试:

法二正常配置:

下载模板文件(在ansible目录下载):

提取事实变量:

用魔法变量.事实变量来获取IP、主机全名、主机简称:

根据题意创建playbook:

查看模板帮助:

运行playbook:

检查测试:

11.修改文件内容

创建名为 issue.yml 的 playbook,要求如下: – 此 playbook 运行到所有受控节点• 此 playbook 覆盖/etc/issue 文件中的内容:• 在 dev 主机组的主机中,内容是:Development 在 test 主机组的主机中,内容是:Test • 在 prod 主机组的主机中,内容是:Production

法一不写when的易写法:

运行:

法二正常配置:

查看copy模块帮助:

运行playbook:

检查测试:

12.创建 Web 内容目录

按照下方所述,创建名为 webcontent.yml 的 playbook:– 该 playbook 在 dev 主机组中的受管节点上运行– 创建目录 /webdev 所有者为 webdev 组– 具有常规权限:owner=read+write+execute,group=read+write+execute,other=read+execute – 具有特殊权限:set group ID – 用软链接将 /var/www/html/webdev 链接到 /webdev – 创建文件 /var/www/html/webdev/index.html,内容为:Red Hat Ansible – 在 dev 主机组中主机上浏览此目录(例如http://servera.lab.example.com/webdev/index.html )将生成以下输出:Red Hat Ansible

使用角色的简单配置法:

因为之前创建的apache角色已经有了安装httpd,开启服务,火墙放行的动作,我们可以直接使用

---
- name: create web serverhosts: devroles:- apachetasks:- name: Add webdevansible.builtin.user:name: webdev- name: create /webdevansible.builtin.file:path: /webdevowner: webdevgroup: rootmode: '2775'state: directorysetype: httpd_sys_content_t- name: Create linkansible.builtin.file:src: /webdevdest: /var/www/html/webdevstate: link- name: write indexansible.builtin.copy:content: Red Hat Ansibledest: /var/www/html/webdev/index.htmlsetype: httpd_sys_content_t

运行yml:

测试:

麻烦配置法:

查看user模块帮助:

创建playbook:

查看创建目录模块帮助:

查看下载模块帮助:

查看server模块帮助来启动服务:

查看copy模块帮助来导入文件内容:

查看火墙模块帮助:

playbook总览:

---
- name: create webdevhosts: devtasks:- name: create useransible.builtin.user:name: webdev- name: create webdev fileansible.builtin.file:path: /webdevowner: webdevgroup: rootmode: '2775'state: directorysetype: httpd_sys_content_t- name: Create link for webdevansible.builtin.file:src: /webdevdest: /var/www/html/webdevstate: link- name: install web serveransible.builtin.dnf:name: httpdstate: latest- name: start web serveransible.builtin.service:name: httpdenabled: yesstate: started- name: write for index.htmlansible.builtin.copy:content: "Red Hat Ansible"dest: /var/www/html/webdev/index.htmlsetype: httpd_sys_content_t- name: set firewalld for webansible.posix.firewalld:service: httppermanent: yesstate: enabledimmediate: yes

运行playbook:

测试:

13.生成硬件报告

创建名为 hwreport.yml 的 playbook,在所有受控主机上生成/root/hwreport.txt 文件,内容包含: · 清单主机名称
· MB 表示的总内存大小 
· BIOS 版本• 磁盘设备 vda 的大小• 磁盘设备 vdb 的大小输出文件中的每一行含有一个 key=value 对 playbook 应当
来自http://materials.example.com/tools/hwreport.empty 模板文件,
并将它保存为 /root/hwreport.txt 使用正确的值修改 /root/hwreport.txt 如果硬件项不存在,相关的值应设为 NONE

方法一:

 结合考前说明里的工具文件连接地址下载模板示例:

查看模板示例:

查看的帮助文档:

👆或者过滤devices

编辑yml:

👆hw_name根据下载的模板示例的键的开头填写

查看动作的模板:

运行:

测试:

方法二:

结合考前说明里的工具文件连接地址下载:

创建playbook:

查看copy模块帮助来复制下载的模板:

查看lineinfile模块帮助来替换文件内容:

👆这里inventoryhostname是指短名称,用inventory_hostname提取。如果是hostname是指全称,就要用_fqdn

👆注意变双引了

运行playbook:

检查测试:

14.创建 password vault

创建一个名为 locker.yml 的 ansible vault 文件存储用户密码:• Vault 文件中含有两个变量,名称如下:– pw_developer: Imadev • pw_manager: Imamgr 加解密密码为 redhat • 密码存储在 /home/devops/ansible/secret.txt 中。

配置:

编辑密码本:

给密码本权限:

在ansible配置文件中指定密码本路径:

创建加密yml:

查看测试:

15.创建用户帐户

需要创建的用户账户清单来自于 http://materials.example.com/tools/user_list.yml,请拷贝到/home/devops/ansible/中• 配合上一题的 locker.yml,创建名为 users.yml 的 playbook,要求如下:– 用户的 job description 为 developer 的用户,创建到 dev 和 test 主机组• 中,用户密码来自于 pw_developer 变量,用户的附属组是 devops • 用户的 job description 为 manager 的用户,创建到 prod 主机组中,用户密• 码来自于 pw_manager 变量,用户的附属组是 opsmgr • 用户密码使用 SHA512 hash

配置:

下载用户清单:

编辑yml:

查看组文档帮助:

查看用户帮助文档:

---
- name: create users1hosts: dev,testvars_files:- user_list.yml- locker.ymltasks:- name: create devops groupansible.builtin.group:name: devopsstate: present- name: create user from job_developeransible.builtin.user:name: "{{ item.name }}"        #使用变量里name的变量值uid: "{{ item.uid }}"          #使用变量里uid的变量值groups: devopsappend: yes                    #因为是添加用户附属组,yes表示追加password: "{{ pw_developer | password_hash('sha512') }}" #变量里取密码然后哈希运算loop: "{{ users }}"              #遍历users里所有变量when: item.job == "developer"    #当条件满足时以上才执行#以下复制上面做修改即可
- name: create users2hosts: prodvars_files:- user_list.yml- locker.ymltasks:- name: create opsmgr groupansible.builtin.group:name: opsmgrstate: present- name: create user from job_manageransible.builtin.user:name: "{{ item.name }}"uid: "{{ item.uid }}"groups: opsmgrappend: yespassword: "{{ pw_manager | password_hash('sha512') }}"loop: "{{ users }}"when: item.job == "manager"

16.更新 Ansible 库的密钥

• 请为 expense.yml 文件修改 vault 密码,要求如下:– 请将 http://materials.example.com/tools/expense.yml 文件保存到/home/devops/ansible/expense.yml • 当前密码为 ibmibm • 新密码为 redhatredhat

配置:

下载文件:

修改密码:

测试:

17.配置 cron 作业

在所有受管节点上创建名为 /home/devops/ansible/cron.yml 的 Playbook,为natasha 用户创建 cron 作业:• 用户 natasha 每隔 2 分钟执行 logger “RH294 in progress”

配置:

编辑yml:

查看用户帮助文档:

查看cron帮助文档:

查看命令绝对路径:

运行:

测试:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92227.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

调用com对象的坑

1、谏言 最近我在弄64位调用32位dll的问题,在几种IPC之间,最后考虑了调用COM 毕竟我们只在windows平台 2、第一坑–修改编译后都需要重新注册,注册表 一直以为只需要编译就好了,结果调用没反应、报错什么的,需要先撤销…

【Python】PyQt 实现 TreeWidget 多级联动选择逻辑,打造素材搜索自定义树形控件!

在开发自己的写作素材管理工具时,我遇到了一个非常典型但又略显棘手的 UI 问题: 💡 如何实现一个“可自由勾选分类标签”的树形结构界面,支持父子节点自动联动勾选,提升用户体验? 虽然 PyQt 的 QTreeWidget 是构建多层分类结构的好帮手,但默认却不具备父子节点的自动级…

27-数据仓库与Apache Hive-2

1.数仓开发语言概述 理论上来说,任何一款编程语言只要具备读写数据、处理数据的能力,都可以用于数仓的开发。比如大家耳熟能详的C、java、Python等; 关键在于编程语言是否易学、好用、功能是否强大。遗憾的是上面所列出的C、Python等编程语言…

软件测试——接口自动化

测试中的自动化分为两类: 1.ui自动化(web、移动端)2.接口自动化 前面的博客中,我们已经讲解了web端的ui自动化,感兴趣的同学可以去看看:软件测试——自动化测试常见函数_自动化测试代码编写-CSDN博客 今…

Flask一个用户同时只能在一处登录实现

场景:web页面如果多人用同一账号同时登录操作,可能会导致数据等的混乱甚至出现故障。并且可能损害开发者的利益。为此,本篇文章就讲下如何实现同一账户同时仅能一个地方登录操作。 思路:1. 用户登陆时生成token(uuid.u…

联发科芯片组曝高危漏洞:越界写入缺陷危及智能手机与物联网设备安全

漏洞概况全球领先的芯片组制造商联发科(MediaTek)近日发布最新产品安全公告,披露了影响其智能手机、物联网设备及其他嵌入式系统芯片的多项安全漏洞。高危漏洞分析CVE-2025-20696 作为公告披露的首个且最严重的漏洞,该高危缺陷源于…

Android与Flutter混合开发:页面跳转与通信完整指南

Android与Flutter混合开发:页面跳转与通信完整指南 一、Android跳转Flutter页面的实现方式 1. 基础跳转方法 (1)使用全新引擎跳转(每次新建) startActivity(FlutterActivity.withNewEngine().initialRoute("/home…

Web存储技术详解:sessionStorage、localStorage与Cookie

一、核心特性对比特性CookielocalStoragesessionStorage存储大小4KB左右5-10MB5-10MB生命周期可设置过期时间永久存储(除非手动清除)会话期间有效(标签页关闭即清除)作用域同源的所有窗口同源的所有窗口仅当前标签页自动发送每次H…

3. 为什么 0.1 + 0.2 != 0.3

总结 底层是二进制实现概述 在 JavaScript 中,0.1 0.2 的结果并不是精确的 0.3,而是 0.30000000000000004。这个现象并不是 JavaScript 的“bug”,而是由于浮点数在计算机底层的二进制表示方式导致的精度丢失问题。一、计算机如何表示小数&a…

股票数据接口哪家好?专业评测各主流接口的优势与不足

Python股票接口实现查询账户,提交订单,自动交易(1) Python股票程序交易接口查账,提交订单,自动交易(2) 股票量化,Python炒股,CSDN交流社区 >>> 股票…

如何用分布式架构视角理解宇宙稳定性?从精细调参到微服务的类比思考

在调试一段多线程分布式代码时,我忽然意识到一个不合理的事实:为什么现实世界这么稳定?为什么没有“宇宙蓝屏”或“感知崩溃”?为什么每天醒来,我们还能看到同样的物理规律、感知同一个自我?站在程序员的角…

游戏画面总是卡顿怎么办 告别延迟畅玩游戏

玩游戏最让人头疼的问题之一就是画面卡顿,影响操作流畅度与游戏体验。卡顿可能由硬件性能、系统设置、网络延迟等多种因素导致。本文将从不同角度出发,为你提供五个有效解决方法,帮助你快速提升游戏流畅度。 一、降低游戏画质设置 高画质虽然…

VUE+SPRINGBOOT从0-1打造前后端-前后台系统-邮箱重置密码

在现代Web应用中,密码重置功能是用户账户安全体系中不可或缺的一部分。本文将详细介绍如何使用Vue.js前端框架和SpringBoot后端框架实现一个基于邮箱验证的密码重置功能。功能概述本密码重置功能包含以下核心流程:用户输入注册邮箱系统发送验证码到该邮箱…

华为云云产品的发展趋势:技术创新驱动数字化未来

近年来,随着5G、人工智能(AI)、大数据、物联网(IoT)和边缘计算等新兴技术的快速发展,全球云计算产业正迎来新一轮变革。作为中国领先的云服务提供商,华为云依托华为集团在ICT(信息与…

防御保护07-08

CIDR 可变长子网掩码 VLSM 无类域间路由NET 用少量的私有地址替换大量的共有地址私网地址不能再互联网上去使用、去分配。这里的互联网指的是公网。服务器映射--用来使外部用户能访问私网服务器。静态映射--公网地址和私网地址进行一对一的映射。地址池--中存在多个公网IP地址时…

PDF转图片工具技术文档(命令行版本)

PDF转图片工具技术文档(命令行版本) 1. 功能概述 本工具是一个基于PyMuPDF库的PDF转图片命令行工具,能够: 通过命令行参数接收PDF文件路径将PDF的每一页转换为PNG格式的图片自动创建输出目录(./static)保存…

k8s+isulad 国产化技术栈云原生技术栈搭建1-VPC

为响应政策,最近在捣鼓国产化云原生平台的搭建。在搭建过程中遇到了问题记录下来,以备后续查找。 我选用了中国电子云的云平台来搭建K8S集群,选用的技术栈是华为开源的openeulerk8sisulad框架,参考官网文档资料:iSula…

chatgpt plus简单得,不需要求人,不需要野卡,不需要合租,不需要昂贵的价格

ChatGPT Plus:开启智能对话的新纪元 引言:AI助手的时代已经到来 在当今信息爆炸的时代,人工智能助手已经成为我们工作、学习和生活中不可或缺的伙伴。作为AI领域的佼佼者,ChatGPT自问世以来就以其强大的语言理解和生成能力赢得了…

鸿蒙OS 系统安全

鸿蒙OS 系统安全 在搭载 HarmonyOS 的分布式终端上,可以保证“正确的人,通过正确的设备,正确地使用数据”。 • 通过“分布式多端协同身份认证”来保证“正确的人”。 • 通过“在分布式终端上构筑可信运行环境”来保证“正确的设备”。 • …

【Dify学习笔记】:保留原所有数据,升级Dify版本

【Dify学习笔记】:保留原所有数据,升级Dify版本原版本1.4.0 升级最新版1.7.1由于是升级成功后才记录的笔记,没法获取旧页面的版本了,先看下镜像信息,上面的拉取的新容器,下面的之前的旧容器1、关闭旧docker…