• [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的位置​​
  • [问题求助] Atlas 500预装的EulerOS 2.0(SP8)没有软件包管理器
    Atlas 500智能小站预装的Euler OS没有软件包管理器看到/etc下面有yum.repos.d的文件夹,但是没有yum命令​
  • [openEuler] OpenEuler系统常用命令操作
    一、查看信息类(1)查看系统信息cat/etc/os-release(2)查看系统相关的资源信息1、查看cpu信息lscpu2、查看内存信息free3、查看磁盘信息fdisk -l4、查看系统资源实时信息top二、基础配置(1)、设置语言环境我们可以通过localectl修改系统的语言环境,对应的参数设置保存在/etc/locale.conf文件中。这些参数会在系统启动过程中被systemd的守护进程读取。1、显示当前语言环境localectl status2、显示当前可用语言环境localectl list-locales3、设置为简体中文语言环境,在root权限下执行,命令如下localectl set-locale LANG=zh_CN.UTF-8注意:① 要设置语言环境为其他语言类型时,在root权限下执行上面步骤③的命令,其中set-locale后面改为要设置的语言类型,取值范围可通过localectl list-locales获取,可根据实际情况修改。② 修改信息后需要重新登录或者在root权限下执行source /etc/locale.conf命令刷新配置的文件,使修改生效。(2)、设置键盘对应的参数设置保存在/etc/locale.conf文件中。这些参数,会在系统启动的早期被systemd的守护进程读取。1、显示当前键盘设置localectl status2、显示当前可用的键盘布局localectl list-keymaps3、设置键盘布局。在root权限下执行如下命令,其中map是要设置的键盘类型,取值范围可通过localectl list-keymaps获取,可根据实际情况修改此时设置的键盘布局。设置完成后,查看当前状态loalectl set-keymap maplocalectl status(3)、设置日期和时间1、使用timedatectl命令设置a、显示当前日期和时间timedatectlb、通过远程服务器进行时间同步若启用了NTP远程服务器进行系统时钟自动同步,则不能手动修改日期和时间。若需要手动修改日期或时间,则需确保已经关闭NTP系统时钟自动同步。可执行timedatectl set-ntp no命令进行关闭。开启自动远程时间同步timedatectl set-ntp yesc、修改日期进行日期修改前请确保已经关闭NTP系统时钟自动同步timedatectl set-ntp no修改当前的日期,在root权限下执行如下命令,其中 YYYY 代表年份,MM 代表月份,DD 代表某天,可根据实际情况修改:timedatectl set-time YYYY-MM-DD例如修改时间为2022年8月26日:timedatectl set-time'2022-08-26'd、修改时间修改时间前,请确保已经关闭NTP系统时钟自动同步。修改当前的时间,在root权限下执行如下命令,其中HH代表小时,MM代表分钟,SS代表秒,可根据实际情况修改:timedatectl set-time HH:MM:SS例如:timedatectl set-time 15:20:24e、修改时区显示当前可用时区timedatectl list-timezones2、使用date命令设置a、显示当前的日期和时间date默认情况下,date命令显示本地时间。要显示UTC时间,添加--utc或-u参数date --utc要自定义对应的输出信息格式,添加”format“参数date+”format“参数说明自定义date命令的输出date+”%Y-%m-%d%H:%M“b、修改时间要修改当前的时间,添加--set或者-s参数。在root权限下执行如下命令,其中 HH 代表小时,MM 代表分钟,SS 代表秒,可根据实际情况修改:date --set HH:MM:SS默认情况下,date命令设置本地时间。要设置UTC时间,添加--utc或-u参数:date --set HH:MM:SS --utcc、修改日期修改当前的日期,添加--set或者-s参数。在root权限下执行如下命令,其中 YYYY代表年份,MM 代表月份,DD 代表某天,可根据实际情况修改:date --set YYYY-MM-DD
  • [openEuler] HCE—OS基础——vim文本编辑器的使用
    步骤一:安装vimdnf install vim -y步骤二:编辑file1 文件在桌面上新建一个file1.txt文档终端输入命令:vim file1.txt1、按 i 键进入插入模式,观察屏幕左下角,应有“INSERT”(插入)字样。在这个模式下,输入字符串:hi ,friend!按esc键退出编辑模式,可以观察到下方的插入消失2、按“:”键输入wq再敲击enter进行保存退出编辑完成后会看到内容已经保存,同时生产出一个临时文件步骤三:学习常用的光标移动命令1、 运行 vimtutor 命令,该命令会打开一个临时文件输入:vimtutor file1.txt~      打开刚刚产生的临时文件2、 用末行模式命令: set number 把行号显示出来3、用j、k、h、l这4个键做光标的上下左右移动操作。4、 输入gg 回到第一行。5、输入G去到最后一行。6、 输入:99末行模式命令去到第99行。7、用$和0命令在行首和行尾之间跳动。8、对比0和^命令的细微差別,0移到第一个字符,^移到第一个非空字符。9、 用w和b命令在当前行内以词为单位左右移动。10、 用组合键ctrl-f、ctrl-b上下滚动文档。步骤四:vim的复制、剪切、粘贴、撤销、重做操作。1、 接着步骤三,仍然在vimtutor 里面;如果已经退出,请重新运行命令vimtutor。2、 输入:99末行模式命令去到第99行。3、 输入yy复制当前行,即第99行,屏幕上没有什么变化。4、 输入p把复制的内容粘贴到当前行的下面,即第100行。5、 输入u撤销上一步的粘贴操作。6、 输入5dd 删除从当前行往下的5行,删除就是剪切。7、 用命令93gg 去到第93行。8、 输入P(大写的P),把之前删除(剪切)的5行数据粘贴到当前行(第93行)的上面。9、 不停地按u键,撤销所有的改动。
总条数:134 到第
上滑加载中