• [技术干货] 欧拉首次亮相全球顶级开源盛会 OSSEU2022
    欧拉带着在对多样性计算时代的展望和畅想,带着开源社区近3年以来取得的进展和成果,首次亮相全球顶级操作系统开源盛会 Open Souce Summit Europe 2022(OSSEU2022)。与全球开发者共同构建安全可持续发展的开源软件未来。2022年9月16日,欧拉开源社区品牌委员会主席梁冰在OSSEU2022发表主题演讲《Unleashing Diversified Computing Power to Innovate Enterprises》,向全球的开发者分享欧拉开源3年以来,在面向全场景,支持多样性计算以及构建开放透明安全可信的软件供应链方面取得的进展。欧拉持续通过技术创新,活跃的社区氛围和规模商用构建一个可持续发展的操作系统未来。这是欧拉首次在国际会议中正式亮相,也是欧拉走向国际化的重要里程碑。Open Souce Summit 是Linux基金会主办,围绕 Linux 开发者的一系列开源会议的总称,是全球最顶级的开源盛会之一,更名前为 Linus Torvalds 创立的 LinuxCon,也是 Linus 本人会亲自出席的社区工作会议。OSSEU2022 是疫情以来首场在欧洲举行的线下大型会议,2000多位来自全球的开发者以及欧洲的用户齐聚一堂,共同探讨开源软件如何为用户创造更多的价值。多样性计算加速企业级用户的创新欧拉是由开放原子开源基金会孵化和运营的开源项目。欧拉开源社区通过开放的社区形式与全球的开发者共同构建一个开放、多元和架构包容的软件生态体系,孵化覆盖全场景、并支持多种处理器架构的开源操作系统, 比如:服务器、云、边缘、嵌入式场景。推动企业数字基础设施软硬件、应用生态繁荣发展。欧拉作为支持多样性计算的操作系统,目前已经支持 ARM、X86、RISC-V、POWER、SW-64、LoongArch等全球主流芯片架构,并且取得了不错的进展,目前软件仓库中有ARM软件包超过25000个,X86软件包超过16000个,RISC-V软件包超过23000个,为成为最佳支持多样性计算的操作系统构建了丰富的软件生态。会议期间,Linus 表达了对ARM架构的喜爱,并表示ARM架构的芯片会在服务器和桌面操作系统方面大有作为。为了最好的支持多样性计算,欧拉开源社区做了很多创新,主要包括以下三点:第一,通过一套构建系统,构建面向服务器、云、边缘和嵌入式场景的操作系统镜像,最终实现面向不同场景的协作部署。第二,欧拉发布构建工具 EulerMaker,支持开发者进行软件包级、函数级和文件级别的定制裁剪,从而按需定制面向不同场景的多样性计算操作系统镜像。第三,欧拉面向开发者发布了一套完整易用的开发工具,例如构建和裁剪工具欧拉Devkit、提供统一接口简化应用开发的欧拉SDK和全流程开发服务作业平台欧拉DevOps,帮助开发者实现面向不同场景,不同设备之间的能力和资源共享,加速企业在多样性计算时代的创新。构建开放透明的软件供应链是开源软件可持续发展的根本在大会开幕式环节,Linux 基金会执行董事 Jim Zemlin 认为开源目前在安全可信方面存在巨大挑战,需要大家携手应对。这与欧拉在开源安全可信上的做法不谋而合。当操作系统出现漏洞时,开发者或用户如何实现分钟级的漏洞感知和漏洞溯源定位?面对这种情况,一个安全可信、公开透明的软件供应链显得尤为重要。欧拉开源操作系统的构建过程,也是开源软件供应链聚合优化的过程。拥有安全可信、公开透明的开源软件供应链是大规模商用操作系统的基础。欧拉从用户的需求出发,回溯梳理软件的依赖关系,理清所有软件包的上游地址、源码和上游对应验证,完成了从开源软件构建、运行依赖关系、上游社区三者之间的闭环管理,确保开源软件的安全和可持续发展。目前,Compass CI 安全类测试上报给上游开源社区的BUG每个月有70个,SBOM(软件物料清单)的功能将在今年实现。新面孔吸引开发者持续关注作为 Open Souce Summit 的新面孔,欧拉吸引了很多用户和伙伴的关注。来自施耐德、西门子、爱立信、博世、巴塞罗那电信、瑞士铁路的开发者和用户对欧拉开源操作系统在多样性计算、开源软件供应链管理、软件生命周期和版本规划等方面表示非常感兴趣,在欧拉展区与工作人员进行交流,并表示在会议结束后,将在开发和生产环境中试用欧拉开源操作系统。
  • [openEuler] yum工具使用(管理软件包)
    管理软件包:搜索软件包使用yum能够方便的进行查询、安装、删除软件包使用如下命令 可以通过软件包的名称、缩写或者描述搜索需要的包文件:yum search 名称这样就解决了想要安装一个软件但是有时候往往不能够准确的知道它的名字问题比如:当我们需要安装一个instant Messenger,但是又不知道到底又那些,这时就可以使用 yum search message 先进行搜索然后再去安装管理软件包:列出软件包我们已经知道使用yum可以使我们很轻松的下载很多依赖和软件,除此之外yum也可以对我们下载的很多软件包进行管理,可以轻松的获取软件包的相关信息如果要列出系统中所有已安装的已经可以使用的RPM软件包,可以使用以下命令:yum list all如果需要列出特定RPM包的信息,将上面的all换成RPM包名即可:yum list [包名]如图:管理软件包:显示RPM包信息要显示一个或者多个RPM包的信息可以使用如下的命令yum info 包名如图所示:管理软件包:安装RPM包要安装一个软件包及其所有未安装的依赖,在root权限下执行如下命令:yum install 名称也可以通过添加软件包名同时安装多个软件包。配置文件/etc/yum/yum.conf添加参数strict=False,运行yum命令参数添加–setopt=strict=0。 在root权限下执行如下命令:yum install 名称 名称 .....--setopt=strict=0管理软件包:下载、删除软件包使用yum下载软件包,可以在root权限下使用如下命令:yum download 名称如果同时需要下载未安装的依赖,只需要加上–resolve:yum download --resolve 名称如果需要卸载软件包及其相关的依赖包,需要在root权限下执行如下命令:yum remove 名称管理软件包组:列出软件包组清单软件包组是一组用于公共功能的软件包,包括系统工具、声音和视频。 安装软件包组的过程中,会获取到一系列的依赖包,从而大大节省了时间。使用yum可以对软件包组进行安装/删除等操作,使相关操作更高效使用summary参数,可以列出系统中所有已安装软件包组、可用的组、可用的环境组额数量:yum groups summaryyum group list 列出软件包组和对应组的id管理软件包组:显示软件包组信息列出包含在一个软件包组中必须安装的包和可选包yum group info glob_expression...例如:管理软件包组:安装、删除软件包组每一个软件包组都有自己的名称以及相应的id,可以使用软件包组名称或它的id进行安装:yum group install 名称yum group install id同样如果要卸载软件包组,可以使用软件包组的名称或者idyum group remove 名称yum group remove id软件包检查、更新升级yum工具可以检查系统中是否有软件包更新。可以通过yum列出需要更新的软件包,并可以选择一次性全部更新或者只对某个包进行更新显示当前系统可用的更新:yum check-update 升级单个软件包,在root权限下执行:yum update package_name更新所有的包和他们的依赖yum update
  • [openEuler] yum工具使用(配置yum)
    HCE—OS—yum工具使用(配置yum)yum工具概述yum全称Yellow dog Updater, Modified,是一个专门为了解决包的依赖关系而存在的软件包管理器。就好像 Windows 系统上可以通过 360 软件管家实现软件的一键安装、升级和卸载,Linux 系统也提供有这样的工具,就是 yum。通过yum源我们可以获取软件包、进行软件包的升级那么我们为什么要使用yum进行软件安装?这是因为当我们安装某个软件的时候往往会伴随着很多的其他组件一起安装,尤其是一些依赖之间的关系往往很难去梳理当我们使用yum工具进行安装就避免了这些麻烦yum工具的主要特点:可以同时配置多个资源库简介的进行文件配置自动解决或删除rpm包时遇到的依赖性问题保持了rpm数据库的一致性这样基于RPM包管理,能够从指定的服务器自动下载RPM包并且自动安装,这样就可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐的下载、安装在使用yum工具前我们需要对yum进行一些配置配置yum:yum配置文件yum的主要配置文件是/etc/yum/yum.conf该文件中主要包含两部分mainrepository【main部分】:定义了全局配置选项,整个yum配置文件只能有一个main。该文件是/etc/yum.conf【repository部分】:定义了每个源/服务器的具体配置,可以有一到多个。常位于/etc/yum.repo.d 目录下的各文件中。另外:在/etc/yum.repos.d目录中保存着一个或者多个repo源的相关文件,它们可以定义不同的repository配置yum:显示当前配置当要显示当前的配置信息时可以使用以下命令:yum config-manager --dump当要显示相应的软件的配置时,首先查询repo id:yum repolist然后执行命令显示对应id的软件源配置,其中repository为查询得到的repo id:yum config-manager --dump repository也可以使用一个全局正则表达式来显示所有匹配部分的配置:yum config-manager --dump glob_experssion配置yum:创建本地软件源仓库要建立一个本地的软件源仓库,可以按照下面的步骤操作:安装createrrepo软件包,在root权限下执行:yum install createrepo将需要的软件包复制到一个目录下,可以直接新建目录,如:/local_repo/执行以下命令创建软件源:createrepo /local_repo这样就可以将本地软件源仓库自动配置完成配置yum:添加启动和禁用软件源添加软件源 - 要定义一个新的软件源仓库,可以在/etc/yum/yum.conf文件中添加repository部分),或者在/etc/yum.repos.d目录下添加.repo文件(如图所示只有一个软件源)。执行下面一段代码其中repository_url为repo源地址:yum config-manager --add-repo repository_url启动软件源 - 要启动软件源,需要在root权限下执行如下命令,其中repository为新增的.repo文件中的repo id (可以通过yum repolist查询):yum config-manager --dump repository
  • [openEuler] Shell脚本概述
    HCE-OS基础操作——Shell脚本概述Shell脚本编写基础知识linux shell是一种特殊的交互式工具,它为用户提供了启动程序、管理文件系统中的文件以及运行在linux系统上的进程的途径。shell的核心是命令行提示符。命令行提示符是shell负责交互的部分。它允许你输入文本命令,然后解析命令,并在内核中执行。常见的shell有bash、zsh、ksh、ash等,由于linux系统默认为bash,因此本文章主要采用bash。使用shell脚本的几点好处:shell脚本可以记录执行命令的过程和逻辑,以便下次的重复执行shell脚本可以批量处理主机shell脚本可以定时处理主机创建和执行Bash shell脚本Bash是linux下默认提供的shell解释器,而且是使用最广泛、与其他shell兼容性最好的解释器创建和执行一个shell程序一般需要以下几个步骤:利用文本编辑器创建脚本内容使用”chmod”命令设置脚本可以执行属性执行脚本命令解释器在Bash shell脚本中第一行以#!开头,通常也称为sharp-bang后面的路劲名称是命令解释器,也就是应用于执行脚本的程序Bash shell脚本将由Bash shell解释,因此他们作为第一行的开头#!/bin/bashecho “hello”执行Bash shell脚本在编写完成shell脚本后不能立即执行,我们需要对其进行权限修改,不然会发生以下报错接下我们需要修改文件权限和所有文件,使它可以变成可执行文件使用chmod命令修改执行权限,并且可以与chown命令组合更改脚本的文件所有权主要命令如下:chmod +x hello.shchmod 755 hello.shsh hello.sh./hello.sh变量的使用shell脚本的编写也需要一些变量的定义,这些变量可以支持我们去编写一些其他更为复杂的shell脚本这些变量可以在内存中存储数据通过变量我们可以轻松访问和修改存储的数据而且相较于其他语言shell变量要简单的多,这里没用的众多的存储类型的限制也能用预定义,shell变量可以边定义的同时边赋值shell变量的种类:1、环境变量临时变量环境变量是永久性的变量,一旦定义其值就不会随脚本的执行结束而消失临时变量则是在shell脚本内部定义的,当脚本执行结束这些值也就消失了变量命名规则变量名称可以由数字、字母(大写和小写)和下划线”_”组成变量的名称不能以数字开头等号=用于为变量分配值,并且不能使用空格将其与变量名称或值进行分隔如以下变量均为有效变量:变量数据类型shell变量中存储的数据类型,常见的有两种:整数类型:zhangsan=40字符串类型:zhangsan=’zhang san’当在为变量分配字符串值得时候,通常用引号将其括起来,如果没有将其括起那么Bash会将空格字符解释为单词分隔符当我们需要处理一些Bash具有特殊意义含义得字符时我们可以使用双引号扩展变量通过在变量名称前面加上$,我们就可以通过变量扩展来重新调用变量的值在程序执行中使用的变量的值的时候,要在变量名面前加上一个$号,这里就会告诉shell,要进行变量值的替换
  • [问题求助] Atlas500-3000固件不再更新
    需要用到Atlas500-3000的sftp功能将文件上传到外接硬盘(/dev/sda1),但是默认情况下sftp只能上传文件到/tmp(位于eMMC),很不方便发现在文档中可以使用modify_path_sftp添加sftp可以操作的路径,但是需要固件版本在21.0.2以上但是华为官网能找到的最新固件只是20.3.0,没有更新的了这个型号的设备固件是不再更新了吗?或者有没有什么别的办法完成我的要求?
  • [openEuler] openEuler 安装 Nvidia 驱动
    Nvidia cuda及驱动安装方式下载驱动wget cid:link_1安装驱动编译解压相关依赖包dnf install -y tar禁用nouveau驱动rmmod nouveauecho ‘blacklist nouveau’ >> /etc/modprobe.d/blacklist.conf安装驱动bash cuda_11.7.1_515.65.01_linux.run 执行 nvidia-smi命令,如果能看到设备信息,表示驱动安装成功。Nvidia 纯驱动安装方式下载驱动wget cid:link_0安装驱动编译解压相关依赖包dnf install -y tar禁用nouveau驱动rmmod nouveauecho ‘blacklist nouveau’ >> /etc/modprobe.d/blacklist.conf安装驱动bash NVIDIA-Linux-x86_64-515.65.01.run出现选择时都选“yes"​​​​​​​​​​​​​​执行 nvidia-smi命令,如果能看到设备信息,表示驱动安装成功。Agenda执行nvidia-smi报错No devices found执行lspci | grep -i nvidia,确认机器中是否有GPU卡,如果没有,需要插上GPU卡才能使用。
  • oec-hardware 工具使用问题解答
    目录1     Content 22     Support 22.1      安装... 22.2      acpi 32.3      cpufreq. 42.4      disk. 62.5      ethernet/infiniband. 72.6      fc. 82.7      raid. 82.8      kdump. 92.9      memory. 102.10    system... 112.11    usb. 132.12    cdrom... 132.13    watchdog. 142.14    gpu/vgpu. 152.15    板卡四元组信息获取... 152.16    测试依赖安装说明... 161 Contentoec-hardware工具是openEuler社区提供的一款硬件兼容性测试工具,oec-hardware提供服务器整机、板卡与openEuler的兼容性验证测试,验证仅限于基本功能验证,不包括性能测试等其它测试。本词条提供 oec-hardware 工具在工具安装或者测试过程中可能遇到的问题解答。2 Support2.1 安装2.1.1 oec-hardware 工具安装oec-hardware 工具已发布到openEuler 官方的 everything 和 update repo源,请使用 dnf 安装软件包。dnf install oec-hardware安装完成后执行oech命令进行测试。详细使用指导请看:cid:link_32.1.2 oec-hardware 工具服务端安装oec-hardware 工具已发布到openEuler 官方的 everything 和 update repo源,请配置相关repo源,然后通过以下步骤进行安装:(1)使用  dnf  获取软件包进行安装。dnf install oec-hardware-server(2)服务端 web 展示页面需要的部分组件系统本身不提供,需要使用  pip3  安装(请自行配置可用 pip 源)。pip3 install Flask Flask-bootstrap uwsgi(3)启动服务。本服务默认使用 8080 端口,同时搭配 nginx(默认端口 80)提供 web 服务,请保证这些端口未被占用。systemctl start oech-server.servicesystemctl start nginx.service(4) 关闭防火墙和 SElinux。systemctl stop firewalldiptables -Fsetenforce 0详细使用指导请看:cid:link_32.1.3 oec-hardware 工具服务端启动失败oech-server依赖的部分软件包需要通过pip3安装,如果执行systemctl start oech-server 启动服务失败,请确认相关服务依赖的安装,请执行以下命令进行安装:pip3 install Flask Flask-bootstrap uwsgi2.1.4 oec-hardware 工具上传测试结果至服务端失败如果oec-hardware工具在测试完成后上传测试结果至服务端失败,出现upload failed的报错,请按照以下步骤进行排查:1. 确认服务端和客户端可以ping通;2. 检查服务端的防火墙和selinux是否正确关闭,请执行以下命令关闭:systemctl stop firewalldiptables -Fsetenforce 03. 检查初始配置信息是否配置正确,初始化时配置的三个参数不能为空,如果配置异常,请执行oech –clean清除配置信息,重新进行配置。2.2 acpi2.2.1 oec-hardware 工具测试acpi 失败,无法找到acpi表acpi是“Advanced Configuration and Power Interface”的缩写,中文意思是“高级配置与电源管理接口”,因此acpi测试是OS与服务器之间硬件信息交互的测试。oec-hardware 测试acpi时如果出现以下报错,无法找到acpi表:Cannot open directory - /sys/firmware/acpi/tables这个报错说明服务器不支持acpi电源管理,请确认服务器的管理方式。以下是一般服务器提供的acpi表:2.3 cpufreq2.3.1 oec-hardware 工具测试cpufreq时无法找到CPU frequency相关文件系统安装完成后,如果 /sys/devices/system/cpu/cpu0-95 目录下缺少cpufreq目录文件,导致用例读取文件中的值失败,用户可以通过以下步骤使系统显示对应目录:1. 修改bios相关配置,将bios中的power policy 值设置为Efficiency 、DEMT值设置为Disabled。2. 查看CONFIG_CPU_FREQ_GOV_COMMON=Y 是否为可设置grep FREQ /boot/config-4.19.90-2016.3.0.0096.oe1.x86_64 |grep GOV |grep -v “is not set”3. bios 下查看Powe Polily Select值是否为performance,bios->advanced->Power Polily Select4. cat scaling_available_governors,如果只有两种模式,需要检测驱动5. 使用modinfo 查询加载的驱动类型cpufreq涉及到的驱动类型有两种:intel_pstate、acpi_cpufreq。如果是intel_pstate,需要按照下面的步骤,在grub中增加intel_pstate=disable1)vi /etc/default/grub 在GRUB_CMDLINE_LINUX 所在行最后添加intel_pstate=disable参数。2)执行grub2-mkconfig -o /boot/efi/EFI/openeuler/grub.cfg (legacy模式下执行grub2-mkconfig -o /boot/grub2/grub.cfg)。3)cat /proc/cmdline 再检查下修改的cmd,然后重启生效。4)cpupower frequency-info 可以查看目前支持5种模式。如果执行以上步骤后,仍然没有cpufreq的相关目录和文件,请升级BIOS固件版本。相关issue链接:cid:link_52.4 disk2.4.1 oec-hardware 工具测试disk信息配置oec-hardware 工具的disk 测试项需要用户在配置文件 test_config.yaml 中指定相关测试信息,工具执行测试时会自动读取该文件获取相关信息,默认值为all(all表示测试除系统盘以外的所有硬盘)。vi /usr/share/oech/lib/config/test_config.yaml2.5 ethernet/infiniband2.5.1 oec-hardware 工具测试网卡信息配置oec-hardware 工具的 ethernet/inifiband测试项需要用户在配置文件 test_config.yaml 中指定相关测试信息,工具执行测试时会自动读取该文件获取相关信息。vi /usr/share/oech/lib/config/test_config.yaml2.5.2 oec-hardware 工具测试网卡时无法ping通服务端直连网卡使用oec-hardware工具测试网卡时,需要关闭服务端的防火墙、selinux等配置,保证测试端和服务端直连网卡互相可以ping通。 详细使用指导请看:cid:link_32.5.3 oec-hardware 工具测试网卡的rdma模式如果环境中有一张ib卡,当前ib卡使用的是普通网卡模式,可以使用oec-hardware工具的 ethernet 测试项,指定测试rdma 模式,在该模式下会对这张板卡进行ib模式的读写等测试。如果环境中的ib卡使用的infiniband 模式,可以使用oec-hardware工具的 infiniband 测试项对这张卡进行测试。2.6 fc2.6.1 oec-hardware 工具测试FC卡信息配置oec-hardware 工具的fc卡测试项需要用户在配置文件 test_config.yaml 中指定相关测试信息,工具执行测试时会自动读取该文件获取相关信息,默认值为all。vi /usr/share/oech/lib/config/test_config.yaml2.7 raid2.7.1 oec-hardware 工具测试raid卡信息配置oec-hardware 工具的raid卡测试项需要用户在配置文件 test_config.yaml 中指定相关测试信息,工具执行测试时会自动读取该文件获取相关信息,默认值为all。vi /usr/share/oech/lib/config/test_config.yaml2.8 kdump2.8.1 oec-hardware工具执行测试kdump测试套失败oec-hardware工具执行kdump 测试失败,首先尝试手动执行以下命令触发kdump:echo c > /proc/sysrq-trigger如果系统无法正常切换到第二内核,重启失败并且服务器控制台上出现以下CPU报错:造成该问题的原因是服务器的BIOS固件版本较低,用户可以通过升级BIOS固件版本解决该问题。2.8.2 oec-hardware 工具测试kdump时无法切换内核如果遇到oec-hardware工具执行测试kdump测试套失败,手动重启系统,查看是否能出现切换内核的界面。如果没有出现切换内核的界面,可以通过dnf update进行更新,更新后重启确认是否能出现切换内核界面,如果出现该界面,可以重新测试kdump。2.8.3 oec-hardware 工具测试kdump测试时无法读取vmcore文件vmcore文件是由kexec-tools提供的,如果相关文件不存在,请安装软件包kexec-tools。2.9 memory2.9.1 oec-hardware 工具测试memory 出现Error eatmem_test failed, please check the space of SWAPoec-hardware 工具测试memory时如果出现以下报错信息: Error eatmem_test failed, please check the space of SWAP这个是因为swap空间不足导致的报错,需要检查当前系统可用的SWAP分区大小,保证可用大小在4G以上。执行以下步骤动态调整swap分区:创建一个磁盘分区sda1fdisk /dev/sda执行mkswap /dev/sda1格式化分区执行swapon /dev/sda1挂载swap分区free -h查看当前swap可用空间2.9.2 oec-hardware 工具测试memory hotplug失败内存热插拔测试时,如果内存被cpu占用,会出现无限刷屏,oec-hardware 工具暂时未解决这种场景下内存的分析处理,因此在1.1.0版本起工具中暂时取消内存热插拔测试,待修复完成后,工具会重新集成测试。如果执行测试出现memory hotplug失败或以下刷屏现象,请挂载openEuler 官方的 everything 和 update repo源,安装最新版本的工具。2.10 System2.10.1 oec-hardware 工具测试system报错OS版本不支持如果oec-hardware执行system测试项失败,日志中出现类似以下的OS版本不支持的报错:Error: openEuler 22.03 LTS is not supported.请查看oec-hardware 工具 支持的OS版本:cid:link_2如果工具明确支持测试的OS版本,但是执行测试出现报错,说明安装的工具版本太低,请配置openEuler官方everything和update repo源后,通过dnf install oec-hardware安装最新版本的工具软件包。工具最新版本请查看:cid:link_6如果工具版本没有说明支持的OS版本,请在工具仓库下提issue反馈或者发邮件至openEuler社区兼容性SIG组邮箱进行确认:oecompatibility@openeuler.org。2.10.2 oec-hardware 工具测试system报错内核被修改oec-hardware 工具会检查内核的完整性,如果内核被重编或者升级, oec-hardware执行system测试项会失败,日志中会出现类似以下内核被修改的报错:[ERROR] Files in kernel-5.10.0-60.18.0.50.oe2203.aarch64 were modified.详细被修改文件请执行以下命令查看:rpm -V --nomtime --nomode --nocontexts kernel如果确认需要修改内核来支持适配整机/硬件,请将相关patch提交至openEuler社区的kernel中,等内核合入patch后重新进行验证。2.10.3 oec-hardware 工具测试system报错SElinux is not enforcingoec-hardware 工具会检查SElinux的状态,如果日志中出现以下报错,说明系统默认的selinux模式是disabled,所以测试时无法临时打开selinux:[ERROR] SElinux is not enforcing, expect is enforcing.修改/etc/selinux/config中配置项SELINUX的值变更SELinux模式,使用enforcing或permissive模式。修改完成后重启系统,使之生效。然后执行oech重新测试system,selinux可以测试通过。详细的selinux配置方式请参考openEuler各个版本中的安全加固指南,以openEuler 22.03LTS为例,可以参考以下文档:cid:link_02.11 usb2.11.1 oec-hardware 工具测试usboec-hardware进行usb测试时,需要人工进行辅助测试,在出现以下提示时插入usb设备,设备类型不限。插入设备后在控制台输入”y”继续测试,在出现以下提示时拔出usb设备。拔出设备后在控制台输入”y”继续测试。2.12 cdrom2.12.1 oec-hardware 工具测试cdromoec-hardware进行cdrom测试时,需要人工进行辅助测试,在出现以下提示时插入cdrom设备 插入设备后在控制台输入”y”继续测试。注意:cdrom测试时会对CD/DVD进行读写测试,会破坏里面的数据,所以测试时要确认设备里的数据已进行备份。2.13 watchdog2.13.1 oec-hardware 工具执行测试watchdog失败oec-hardware工具如果执行watchdog用例失败,请先执行下面两条命令,然后再进行测试:rmmod sbsa_gwdtmodprobe sbsa_gwdt action=1相关issue链接:cid:link_42.13.2 oec-hardware 工具执行测试获取watchdog时间报错oec-hardware工具执行watchdog用例失败,如果出现以下报错,表示获取watchdog时间失败:请执行下面两条命令:cd /usr/share/oech/lib/tests/watchdog./watchdog -s 20如果手动测试通过,请重新测试watchdog。2.14 gpu/vgpu2.14.1 oec-hardware 工具无法显示gpu/vgpu测试项 oec-hardware 工具提供了gpu/vgpu 测试能力,在使用工具测试前,用户需要手动安装gpu/vgpu驱动,配置好硬件环境后再执行 oech 命令,工具会识别并显示 gpu/vgpu 测试项。2.14.2 oec-hardware 工具测试vgpu失败 oec-hardware 工具集成了nvidia vgpu测试能力,nvidia 的gpu和vgpu使用的是不同的驱动,因此如果要测试vgpu,需要单独安装vgpu驱动,配置好环境,并在/root目录下放置nvidia 客户端(虚拟机)可使用的vgpu驱动。2.15 板卡四元组信息获取用户可以通过以下三种方式查看板卡四元组信息:通过iBMC查看使用 lspci -nvv 查看使用 lspci -xs 查看以网卡的四元组信息查询为例:执行ethtool -i 网卡名,查看网卡的bus-info;执行lspci -xs 网卡的bus-info,查看四元组信息;vendorID: 19e5deviceID: a222svID: 19e5ssID: 04cc2.16 测试依赖安装说明oec-hardware 工具存在软件包安装依赖和编译依赖,并且每个测试项会有不同的测试依赖。如果测试环境无法连接外网,可以通过挂载本地repo源或提前下载相关软件包、工具上传至测试环境中,再进行测试。以下文档中提供了oec-hardware 工具的相关依赖软件包列表:cid:link_1
  • [新手课堂] openEuler容器镜像移植项目实践感受|转载
    这个项目的主要目的就是将github上一些比较优秀的开源软件包中基础镜像为centos,fedora的Dockerfile移植到openeuler上,使其能够在openEuler的基础镜像中 (包括x86和arm架构)成功构建容器镜像,以解决原有的dockerfile只能在centos、fedora等基础镜像上进行构建的限制问题,使其可以适配openeuler的环境。项目起步阶段,华为专家组织召开开工培训会议,为我们详细介绍了这个项目的需求、目的以及验收标准等具体的项目信息。会后根据我们团队的实际情况提供了服务器以及相关技术指导,让我们可以专注于项目本身的开发。项目初期经历一段摸索期,大家合力完成一个Dockerfile的移植,记录中间遇到的问题并讨论相应的解决办法,就这样慢慢地总结出了一套通用的移植流程。中期大家就开始各自负责不同的repo,虽然repo不同,但是移植过程中遇到的很多问题是共通的,首次碰到问题的同学会把问题和相应解决方法记录到团队的共享文档上,当其他同学也遇到相同问题时,就可以按照前一个同学的解决思路来处理,如此极大地提高工作效率。当遇到棘手的新问题时,大家也会聚在一起讨论,群策群力,集思广益,就能很快地找到解决办法,因此通过团队成员的通力合作使得项目可以顺利完成,甚至实现提前结题。通过这个项目不仅让我对linux环境开发更加熟练,比如docker、shell脚本等,更对linux的软件源有了更深的理解。之前在linux上安装软件或者配置环境都是按照网上博客进行操作的,成功后并不会去关注每一步的原理。在项目移植过程中遇到各种软件源/包等问题对此有了更加清晰的认识,每次使用yum install指令时,它都会去yum服务器上搜索相应软件包信息,然后下载rpm包安装。那如果服务器上没有某个rpm包,我们该怎么安装,centos上很多软件源在openeuler上是没有的,或许这也是众智计划扩展生态的其中一个目的,去丰富openeuler的软件源。这个问题我们可以通过在一些开源的软件源网站上寻找类似的包源进行替换,那如果在网上也没有找到相应的rpm包,我们又该如何做,是否可以根据软件源码从头开始一步步编译和构建,这也是众智计划的另一个内容,构建适配openeuler的主流软件的rpm包。这个项目作为华为鲲鹏众智计划的其中一环,是华为对于繁荣软件产业生态这一目标的具体实施举措。其实中国不缺少类似鸿蒙、openeuler、红旗等基础设施,也不缺少类似mindspore、openGuass等优秀软件框架,但缺少相应生态的开发者。目前中国很多技术依赖的都是国外的生态环境,一旦国外企业对我们实施封锁,很多软件就无法继续使用,比如前一段时间谷歌对于安卓框架的限制。所以鲲鹏众智计划面向高校师生、企业和个人开发者,以项目合作的方式来邀请广大开发者加入到鲲鹏生态建设中。其实很佩服华为公司能够有决心去构建国内自主的生态环境,摆脱国外企业对我们的技术垄断。我也十分荣幸能够参与到这一个项目中来,能够贡献一份力量。
  • [新手课堂] openEuler 21.09安装手记|转载
    1. 目标系统:openEuler-20.03-LTS-SP12. 环境准备:配置openEuler软件源:mkdir -p /etc/yum.repos.d/bakmv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bakcat < /etc/yum.repos.d/openEulerOS.repo[openEuler-source]name=openEuler-sourcebaseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP1/source/enabled=1gpgcheck=1gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP1/source/RPM-GPG-KEY-openEuler[openEuler-os]name=openEuler-osbaseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP1/OS/aarch64/enabled=1gpgcheck=1gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP1/OS/aarch64/RPM-GPG-KEY-openEuler[openEuler-everything]name=openEuler-everythingbaseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP1/everything/aarch64/enabled=1gpgcheck=1gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP1/everything/aarch64/RPM-GPG-KEY-openEuler[openEuler-EPOL]name=openEuler-epolbaseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP1/EPOL/aarch64/enabled=1gpgcheck=0[openEuler-EPOL-update]name=openEuler-epol-updatebaseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS-SP1/EPOL/update/aarch64/enabled=1gpgcheck=03. 获取源码从gitee的openEuler代码仓上获取virt-manager的源码git clone https://gitee.com/src-openeuler/virt-manager.git -b openEuler-20.03-LTS-SP14. 编译rpm进入源码目录cd virt-manager安装必要软件包yum install rpm-build yum-builddep virt-manager.spec创建编译目录mkdir -p ~/rpmbuild/SOURCES将源文件拷贝至编译目录cp * ~/rpmbuild/SOURCES编译rpmbuild -bb virt-manager.spec安装生成的rpmyum install ~/rpmbuild/RPMS/noarch/*.rpm5.使用virt-install安装虚拟机创建iso与镜像的储存目录mkdir -p /home/qemu/isomkdir -p /home/qemu/img上传镜像CentOS-7-aarch64-Everything-1810.iso至/home/qemu/img创建空的qcow2格式镜像文件cd /home/qemu/imgqemu-img create -f qcow2 test.img 10G修改/home/qemu的所有权chown -R qemu:qemu /home/qemu使用virt-install安装虚拟机virt-install --name=vm1 --vcpus=4 --ram=8192  --disk path=/home/qemu/img/test.img,format=qcow2,size=10,bus=virtio --location /home/qemu/iso/CentOS-7-aarch64-Everything-1810.iso --force --autostart注意:如果需要重定向tty控制台在virt-install命令后加参数--extra-args 'console=ttyS0'
  • [新手课堂] 配置OpenEuler的网络yum源|转载
    1、  进入华为开源镜像站:cid:link_12、  选择“镜像”->“ARM类”如下图所示           3、  点击“openEuler”,进入openEuler的yum源详情       4、在openEuler系统中进行yum源配置即可         A)确认系统发行版:                            B)进入/etc/yum.repos.d目录中:cd /etc/yum.repos.d/         C)执行命令: wget -O /etc/yum.repos.d/openEulerOS.repo cid:link_0 下载仓库文件                        D)执行yum clean all清除原有yum缓存,结果如下图所示                            E)执行yum makecache生成新的缓存,执行结果如下图所示              
  • [openEuler]VirtualBox中安装openEuler20.09虚拟机|转载
    openeuler官方源已经十分丰富了,但是仍有许多软件包是欠缺的,例如htop等工具,隶属于epel拓展源,所以openeuler暂未收录。本帖主要分享一下如何在openeuler上使用centos8的源首先观察从华为云镜像站或者阿里镜像站下载的repo文件,发现其中的/$releasever和$basearch参数,在centos和openeuler中是不存在是,分别修改成 8 和 aarch64即可。修改前:修改后:懒得自己修改的话可以直接下载本帖我修改好的repo文件,放到/etc/yum.repos.d目录即可。测试特别的,对于一些centos8也不存在的软件包,有些时候直接安装el7_8甚至更旧版本的rpm包也是可以正常使用的,需要进行测试。
  • [新手课堂] 「openEuler 简明指南」openEuler 安装前的准备|转载
    安装前的准备提示可能前往 openEuler 简明指南 可以获得更加良好的阅读体验。凡事预则立,不预则废这一章开始,我们正式开始安装 openEuler。但是我们首先要做一些准备工作。提示由于当前 UEFI 已普及十余年,(除了虚拟机)安装将全部以 UEFI + GPT 的形式进行,传统 BIOS 方式不再赘述。1. 下载安装镜像打开 openEuler 镜像列表 > 选择一个合适的镜像源(一般来说地理位置越近下载速度越快,此处以 华为云 为例):选择合适版本,此处以 openEuler 21.03 为例:依次进入 ISO > x86_64 > 点击相关文件以将安装镜像 openEuler-21.03-aarch64-dvd.iso 和校验文件 openEuler-21.03-aarch64-dvd.iso.sha256sum 下载到本地:在下载位置打开终端,进行安装镜像完整性校验(可选):使用以下命令依次查看校验文件中的 sha256 校验值:类 UNIX 操作系统:cat openEuler-21.03-x86_64-dvd.iso.sha256sum复制Windows 操作系统:type openEuler-21.03-x86_64-dvd.iso.sha256sum复制计算安装镜像的 sha256 校验值:类 UNIX 操作系统:sha256sum openEuler-21.03-x86_64-dvd.iso复制Windows 操作系统:certutil -hashfile openEuler-21.03-x86_64-dvd.iso SHA256复制检查两者是否一致。若不一致,请尝试重新下载安装镜像或检查镜像源可信度:2. 刻录安装 U 盘准备一个 8G 以上的 U 盘,刻录一个安装盘。2-1. WindowsWindows 下推荐使用 Ventoy、Rufus 或者 Power ISO 进行 U 盘刻录。三者皆为免费使用的软件。具体操作请自行查阅,都非常简单。除此之外,如果你还嫌麻烦,还可以使用更为简单的安装盘制作工具 balenaEtcher:提示使用 balenaEtcher 制作完成的安装盘若要重新作为普通 U 盘使用,需要用磁盘分区管理工具(如 KDE 分区管理器、DiskGenius 重建分区表才能正常格式化。2-2. LinuxLinux 下同样可以使用 Ventoy 和 balenaEtcher。以 Arch Linux 为例,具体步骤可参阅 Ventoy(推荐)以及 balenaEtcher。也可以直接用 dd 命令进行刻录,具体步骤可参阅 dd 命令。3. 为 openEuler 分出硬盘空间(可选)如果目标是双系统(win10 + openEuler),并且 win10 和 openEuler 将要共存在一个硬盘上的话,往往要在 win10 使用的分区上分出空闲硬盘空间给 openEuler。这里建议至少分 128GB 给 openEuler。右键点击 开始菜单 > 点击 磁盘管理:右键点击 需要压缩的分区 > 点击 压缩卷:在 输入压缩空间量(MB) 输入需要分给 openEuler 的空闲硬盘空间大小。假设分配 128GiB 则输入 131072(1GiB = 1024MiB,128GiB = 128 * 1024MiB = 131072MiB):点击 压缩 > 完成之后关闭磁盘管理即可注意请不要做多余的动作!不要在这里为分出的硬盘空间创建分区!4. 获取 Bitlocker 恢复密钥若 win10 分区使用了 Bitlocker 加密,请提前获取恢复密钥。关于解锁密钥的查找请参阅 Mircosoft 相关页面。一般来说使用与 win10 相同的微软帐号登录 aka.ms 相关页面 即可获取。5. 进入主板 BIOS 进行设置插入优盘并开机。在开机的时候,按下 F2 / F8 / F10 / DEL 等(取决与你的主板型号,具体请查阅你主板的相关信息)按键,进入主板的 BIOS 设置界面。除此之外,如果你还嫌麻烦,还可以使用以下方法进入 BIOS:在 win10 下 按住 Shift 键同时点击 重启:保持按住 Shift 键直到进入如图所示界面:选择 疑难解答 并回车 Enter选择 UEFI 固件设置 并回车 Enter:按下 Enter 重启,此时应该已经进入了 BIOS:6. 关闭 BIOS 设置中的 Secure Boot在类似名为 security(安全) 的选项卡中,找到一项名为 Secure Boot(安全启动,名称可能略有差异)的选项,选择 Disable 将其禁用:7. 调整启动方式为 UEFI(可能不需要)在某些旧的主板里,需要调整启动模式为 UEFI,而非传统的 BIOS/CSM。在类似名为 boot 的选项卡中,找到类似名为 Boot Mode 的选项,确保将其调整为 UEFI only,而非 Legacy/CSM。8. 调整硬盘启动顺序在类似名为 boot 的选项卡中,找到类似名为 Boot Options(名称可能略有差异)的设置选项,将优盘的启动顺序调至首位:9. 保存 BIOS 设置最后保存 BIOS 设置并退出,一般的按键是 F10:10. 准备安装此时电脑重启,不出意外的话根据提示你应该可以顺利进入 openEuler 的安装界面了:提示openEuler 安装盘应该一直插在电脑上
  • [新手课堂] openeuler 安装 docker|转载
    最近许多客户被推广使用了 openeuler 20.03 的操作系统,分享一下openeuler安装docker的方法由于openeuler源中docker版本只有18.09.0-101.oe1  这一个版本,所以本次介绍两种安装方法一,使用yum安装18.09.0-101.oe1 (1)更新软件源    wget -O /etc/yum.repos.d/openEulerOS.repo https://repo.huaweicloud.com/repository/conf/openeuler_aarch64.repo     yum clean all     yum makecache (2)yum安装docker    yum list |grep docker-engine.aarch64                        //查看版本信息     yum install -y docker二,官方安装包安装  (1)获取安装包,地址https://download.docker.com/linux/static/stable/aarch64/    本次以19.03.5为例    cd ~  && wget https://download.docker.com/linux/static/stable/aarch64/docker-19.03.5.tgz  (2)安装    tar xvpf docker-19.03.5.tgz     cp -p docker/* /usr/bin           cat >/usr/lib/systemd/system/docker.service <   (3)验证 docker version docker run helloworld
  • [问题求助] 【openEuler 容器镜像】使用openEuler基础镜像编译镜像出错
    使用openEuler基础镜像编译镜像出错。Dockerfile如下:FROM openeuler:20.03-lts-sp1 COPY my_exec_bin / RUN chmod +x /my_exec_bin ENTRYPOINT ["/my_exec_bin"]编译命令为:docker build -t "openeuler/my_exec_binmy_exec_bin:1.0.0" .报错:OCI runtime create failed: container_linux.go:318: starting container process caused "exec: \"/bin/sh\": stat /bin/sh: no such file or directory": unknown
  • [openEuler] Openeuler基础命令操作——文件操作
    ​Openeuler基础命令操作——文件操作一、目录及文件管理1、使用pwd回显当前用户所在的位置​2、使用ls命令ls / :查看根目录下的文件或者目录ls -l:查看当前目录下的文件或者目录详细信息ls -a:查看当前目录下的所有文件或目录​3、使用cd命令cd /:切换到系统根目录cd /ect:切换到/ect目录cd :切换到当前用户的家目录​4、使用mkdir命令mkdir test0:创建test0目录mkdir -p test1/test2/test3:递归创建多级目录tree:以树的形式查看目录​5、使用touch命令创建文件​6、使用cp命令cp -r test0//test1/:拷贝text0目录到/test1目录下,拷贝目录使用-r参数cp test1.txt:拷贝文件7、使用rm命令rm test4.txt:删除目录下的test4.txt文件rm -rf test1:选项r表示删除对象是目录,选项f表示强制rmdir /test1/test/2:表示删除一个空目录​输入y确定删除8、使用mv命令mv:进行文件覆盖 ​9、使用ln命令ln:创建文件连接软链接(symbolic link):以路径形式存在(快捷方式);删除源文件后链接失效;可以对目录进行链接;可以跨文件系统硬链接(hard link):以文件副本形式存在,不占用实际空间;删除源文件后影响;不可以对目录链接;不可以跨文件系统#不带参数情况下默认创建硬链接 ln sourcefile targetfile    #创建硬链接 ln -s sourcefile targetfile #创建软链接 二、文件查看1、使用cat、head命令cat查看命令文件,使用管道符head命令打印前5行使用tail命令查看后5行内容,不加 -n 参数默认为后10行​三、使用whereis命令whereis bash:查看bash的位置​​
总条数:114 到第
上滑加载中