Vmware虚拟机安装openEuler 20.03 LTS(openEuler20.03)

文章目录

  • vmware虚拟机安装openEuler 20.03 LTS
    • 安装硬件设备(略)
    • 安装OS
      • 镜像下载
      • 镜像版本发布说明
      • 开始安装(vmware虚拟机)
        • 安装操作系统
        • 必要操作
          • 关闭防火墙
          • 设置selinux为宽容模式
          • 系统内核问题
            • 禁用系统内核更新
          • ~~禁用yum update和dnf update对一切软件包的升级~~ (不能这样,这样docker装不了了)
        • 安装其他依赖
          • net-tools(==不装,装了也没有ifconfig命令,建议用默认的ip addr show命令==)(貌似后面在昇腾服务器openEuler20.03里安装依赖后,ifconfig可用了,不知道是不是装了net-tools的缘故)
            • dnf update为什么把我内核升级了?(需要0禁用内核升级,同时不要用dnf update)
          • openssh
          • 设置PermitRootLogin yes(使能直接远程root登录)
          • samba
            • 配置防火墙(否则无法访问)(可选直接关闭防火墙)
            • 注意:openEuler跟CentOS类似,还需要配置selinux,否则还是没法访问一些目录
          • 安装tar命令
          • 安装python3.8.10
            • openeuler20.03系统里dnf可以跟yum混着用吗,它们安装的包会不会有冲突?
          • python虚拟环境之前用python -m venv xxx做的,有点问题,可能要重做一下,要用python -m venv xxx....
          • 安装docker(官方方案)(没装成功)
            • 检查源(openEuler系统)
            • 安装Docker
          • 安装docker(方案2)(没成功)
            • 一些错误
          • 安装docker(方案3)(不成功)
            • 一些报错
          • 安装docker(方案5)(不成功)
          • netplan
          • 安装nmap工具(支持ip_change_service python-nmap库调用)
  • 还是安装openEuler 22.03 LTS吧(?)

vmware虚拟机安装openEuler 20.03 LTS

https://www.hiascend.com/document/detail/zh/quick-installation/23.0.RC3/quickinstg/800_3000/quickinstg_800_3000_0004.html

安装硬件设备(略)

安装OS

https://support.huawei.com/enterprise/zh/ascend-computing/a800-3000-pid-250743608?category=installation-upgrade&subcategory=software-deployment-guide
在这里插入图片描述

https://support.huawei.com/enterprise/zh/doc/EDOC1100258048?idPath=23710424%7C251366513%7C22892968%7C252309139%7C250743608

在这里插入图片描述

镜像下载

https://www.openeuler.org/zh/download/archive/

在这里插入图片描述

在软件版本命名中,“SPx"通常代表"Service Pack x”,其中"x"是一个数字,用来指示这是第几个服务包。服务包(Service
Pack)是对软件原始版本的一系列更新、补丁和改进的集合。它们通常包括安全修复、性能提升、以及新增的功能,目的是提高软件的稳定性和兼容性。

例如,openEuler 20.03 LTS SP4表示openEuler 20.03长期支持版的第四个服务包。这些服务包让用户可以一次性安装多个更新,而不需要单独下载和安装每一个小的更新或补丁,从而简化了维护流程并减少了系统因频繁更新而可能出现的问题。

如果您在安装昇腾服务器的CANN(Compute Architecture for Neural
Networks)时,提示需要openEuler 20.03 LTS作为操作系统,那么选择安装openEuler 20.03 LTS SP4是更好的选择。原因如下:

  1. 最新的服务包:SP4是openEuler 20.03 LTS系列中最新的服务包,它包含了从原始版本到现在所有的安全补丁、性能改进和新功能。这意味着使用SP4可以让您的系统达到最高的稳定性和安全性。

  2. 长期支持:根据您提供的信息,openEuler 20.03 LTS SP4的支持时间比SP1要长。SP4的支持截止到2025年12月,而SP1的支持则在2022年12月结束。长期支持意味着您可以享受更长时间的更新和安全补丁,无需担心在近期内进行重大升级。

  3. 向后兼容性:服务包设计的目的之一就是保证向后兼容性。这意味着如果CANN软件与openEuler 20.03 LTS兼容,它也应该与20.03 LTS的任何服务包(SP1, SP2, SP3,
    SP4等)兼容。通常,软件开发者和硬件制造商会推荐使用最新的服务包,以确保系统的稳定性和安全性。

综上所述,选择安装openEuler 20.03 LTS SP4不仅可以满足安装昇腾服务器CANN的基本要求,还可以为您的系统提供更长期的支持和更好的性能。

我们下载 openEuler 20.03 LTS SP4 Offline Standard ISO:

在这里插入图片描述

镜像版本发布说明

这里有版本发布说明:https://docs.openeuler.org/zh/docs/20.03_LTS_SP4/docs/Releasenotes/release_notes.html

在这里插入图片描述
在这里插入图片描述

开始安装(vmware虚拟机)

安装操作系统

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
一系列操作后重启下就好了。。

看系统内核是4点几的,默认python3版本是3.7.9

必要操作
关闭防火墙

参考文章:CentOS7关闭防火墙(firewalld)(虚拟机只能ping通外面,外面不能ping通里面)Ubuntu关闭防火墙

sudo systemctl status firewalld

在这里插入图片描述

sudo systemctl stop firewalld
sudo systemctl disable firewalld

在这里插入图片描述

sudo systemctl status firewalld

在这里插入图片描述

设置selinux为宽容模式
sestatus

可以将SELinux设置为"permissive"模式。在这种模式下,SELinux仍然会运行并记录违规行为,但不会阻止任何活动。

这是一个可以尝试的步骤:

  1. 编辑SELinux配置文件: sudo vi /etc/selinux/config

  2. 找到这一行:SELINUX=enforcing,将其更改为SELINUX=permissive
    在这里插入图片描述

  3. 保存并退出vi编辑器(输入:wq然后回车)。

  4. 重启你的系统使改动生效: sudo reboot
    在你的系统重新启动后,SELinux应该会处于"permissive"模式。你可以通过运行sestatus命令来确认这一点。
    在这里插入图片描述

系统内核问题

直接断网安装后的系统内核是4.19.90-2312.1.0.0255

在这里插入图片描述
但是如果执行dnf update,会升级系统内核,升级后变成4.19.90-2402.4.0.0264

在这里插入图片描述
(过了几天,我执行dnf update,它又给我升级了,看起来升到另一个版本,但是用uname -a看没变化:4.19.90-2402.4.0.0264.oe2003sp4.x86_64了)
在这里插入图片描述

在这里插入图片描述

禁用系统内核更新

如果升级内核有问题,最好禁用dnf内核升级功能,参考方法:

dnf update命令是用于升级你系统中所有已安装的软件包到最新版本的命令,包括操作系统内核。这意味着如果有新的内核版本可用,该命令会将其下载并更新。

通常来说,保持内核更新是一种良好的做法,因为新的内核版本往往会修复旧版本中存在的漏洞,增加新的特性或者改进性能。然而,如果由于某些原因(如硬件兼容性问题或特定软件对特定内核版本的依赖等)你不希望自动升级内核,可以采取以下步骤:

  1. 首先,打开DNF配置文件。在终端输入以下命令:

    sudo vi /etc/dnf/dnf.conf
    
  2. 在打开的编辑器中,添加或修改以下行:

    installonly_limit=3
    exclude=kernel*
    

    这样就可以保留最近的三个内核版本,并排除任何进一步的内核更新。

  3. 保存并关闭文件。在vi编辑器中,你可以通过按:,然后按wqEnter来完成。

  4. 最后,你需要清理并重新生成元数据缓存,以确保DNF遵守新的设置。你可以使用以下命令:

    sudo dnf clean all
    

注意,以上步骤会阻止内核的自动更新。如果你想要手动更新内核,你需要暂时移除exclude=kernel*这一行,然后运行dnf update,之后再次添加回去。

是的,如果你的 openEuler 系统同时使用了 Yum 和 DNF,那么你需要在两个工具中都设置禁止内核更新。

这主要包括以下两步:

  1. 对于 Yum:

    • 如果已启用 yum-cron 服务,需要停止并禁用它。
    • /etc/yum.conf 文件中,添加 exclude=kernel*[main] 部分。
  2. 对于 DNF:

    • 如果已启用 dnf-automatic 服务,需要停止并禁用它。
    • /etc/dnf/dnf.conf 文件中,添加 exclude=kernel*[main] 部分。

同时,请注意,如果你使用了其他的软件进行内核更新(比如 KernelCare),你还需要根据该软件的文档禁用它的自动更新功能。

禁用yum update和dnf update对一切软件包的升级 (不能这样,这样docker装不了了)

如果你想阻止所有软件包的更新,可以通过在yum或dnf配置文件中设置exclude参数来实现。

对于yum,你需要编辑/etc/yum.conf 文件:

  1. 打开一个终端。
  2. 输入 sudo nano /etc/yum.conf 来编辑文件。如果nano不可用,你可以使用vi或者vim。
  3. [main] 部分下面添加一行 exclude=*
  4. 保存并关闭文件。

对于dnf,你需要编辑/etc/dnf/dnf.conf 文件:

  1. 打开一个终端。
  2. 输入 sudo nano /etc/dnf/dnf.conf 来编辑文件。如果nano不可用,你可以使用vi或者vim。
  3. [main] 部分下面添加一行 exclude=*
  4. 保存并关闭文件。

这样做之后,无论何时运行yum updatednf upgrade,都不会更新任何软件包。如果你想要更新某个特定的软件包,你需要临时移除 exclude=* ,或者直接使用命令 sudo yum --disableexcludes=all update <package_name>sudo dnf --disableexcludes=all upgrade <package_name>

请注意,禁止所有软件包的更新可能会导致系统和应用程序漏洞未能得到修复,从而带来安全风险。所以只有在你完全了解可能的后果的情况下才应采取这种策略。

安装其他依赖

注意把下面一些必要操作提前,比如换源。

其次一些安装有困难的提前,比如docker,装着还报错了不知道咋回事。。。

net-tools(不装,装了也没有ifconfig命令,建议用默认的ip addr show命令)(貌似后面在昇腾服务器openEuler20.03里安装依赖后,ifconfig可用了,不知道是不是装了net-tools的缘故)

net-tools是一组用于管理网络配置的命令行工具。如果你正在使用Openeuler 20.03操作系统,可以通过以下步骤来安装:

首先,打开你的终端。

使用以下命令来安装net-tools

sudo dnf install net-tools

输入你的密码后,你的系统将开始下载并安装net-tools。可能会询问你是否愿意安装这些包,如果是这样,只需按y或者Enter即可。

最后,你可以使用如下命令来确认net-tools已经成功安装:

ifconfig

如果返回了一些网络信息(例如IP地址、子网掩码等),那么net-tools就已经成功安装了。

dnf update为什么把我内核升级了?(需要0禁用内核升级,同时不要用dnf update)

参考文章:禁止yum update自动更新系统内核

dnf update命令是用于升级你系统中所有已安装的软件包到最新版本的命令,包括操作系统内核。这意味着如果有新的内核版本可用,该命令会将其下载并更新。

openssh

在OpenEuler 20.03上安装openssh-server的步骤如下:

  1. 首先,打开终端。

  2. 使用以下命令更新你的包列表,以确保你有最新的版本和依赖关系信息:

    sudo dnf update
    
  3. 然后,你可以使用以下命令来安装openssh-server

    sudo dnf install openssh-server
    

(后面步骤好像不需要了👇👇👇)

  1. 安装完成后,启动SSH服务:

    sudo systemctl start sshd
    
  2. 若要使SSH服务在系统启动时自动运行,可以使用以下命令:

    sudo systemctl enable sshd
    
  3. 最后,你可以使用如下命令来检查SSH服务是否正在运行:

    sudo systemctl status sshd
    

如果返回的信息中包含active (running),那么openssh-server就已经成功安装并正在运行了。

设置PermitRootLogin yes(使能直接远程root登录)

好像不用设置,我进去看默认就是允许的:

cat /etc/ssh/sshd_config

在这里插入图片描述

samba

在OpenEuler 20.03上安装Samba的步骤如下:

  1. 首先,打开终端。

  2. 使用以下命令更新你的包列表,以确保你有最新的版本和依赖关系信息:

    sudo dnf update
    
  3. 然后,你可以使用以下命令来安装Samba:

    sudo dnf install samba
    

(下面操作是必须的👇👇👇)

  1. 安装完成后,启动Samba服务:

    sudo systemctl start smb
    sudo systemctl start nmb
    

nmb是Samba服务的一部分,负责NetBIOS over
TCP/IP名称服务和浏览服务。NetBIOS(网络基本输入/输出系统)是许多早期Windows网络服务的基础,尽管新的Windows版本已经转向更现代的网络技术,但在一些环境中,NetBIOS依然被使用。

当你运行命令sudo systemctl start nmb时,你实际上是启动了Samba套件中的nmbd服务,它用于处理与NetBIOS名称相关的各种任务,如名称解析。

总的来说,如果你在Linux服务器上运行Samba并希望它能够与Windows客户端或其他支持NetBIOS的设备互动,你通常需要同时运行smbd(提供文件和打印服务)和nmbd服务。

  1. 若要使Samba服务在系统启动时自动运行,可以使用以下命令:

    sudo systemctl enable smb
    sudo systemctl enable nmb
    
  2. 最后,你可以使用如下命令来检查Samba服务是否正在运行:

    sudo systemctl status smb
    sudo systemctl status nmb
    

如果返回的信息中包含active (running),那么Samba就已经成功安装并正在运行了。

为什么在ubuntu20.04上直接apt install samba,服务就自动启动了,而在openeuer20.03中,执行dnf install samba后还需要手动启动samba服务?
这其实取决于特定发行版的包管理器如何配置和处理软件包的后安装步骤。Ubuntu和OpenEuler可能对这些步骤有不同的处理方式。

在Ubuntu中,当你使用apt install命令安装Samba时,它不仅会安装Samba,而且还会自动启动Samba服务,并将其设置为在每次启动时自动运行。这是因为Ubuntu的软件包维护者决定了这样的默认行为。

然而,在OpenEuler中,dnf install命令只负责安装Samba,但并不会自动启动Samba服务或将其设置为开机启动。在OpenEuler中,你需要手动执行这些操作。

这种差异反映了不同的设计理念和用户期望。Ubuntu偏向于为用户提供一个“开箱即用”的体验,而OpenEuler等其他一些发行版则倾向于让用户有更多的控制权,包括决定何时启动和停止服务。

👇👇👇

接下来按照https://dontla.blog.csdn.net/article/details/120165149操作

vi /etc/samba/smb.conf

最下方添加(注意path后面写你想共享的目录路径):

[rootdir]
    path = /
    guest ok = no
    writable = yes
    browsable = yes
service smb restart

创建root用户:

smbpasswd -a root
systemctl restart smb
配置防火墙(否则无法访问)(可选直接关闭防火墙)
firewall-cmd --add-service=samba --permanent
firewall-cmd --reload

在这里插入图片描述
然后就可以访问了:

在这里插入图片描述
在这里插入图片描述

注意:openEuler跟CentOS类似,还需要配置selinux,否则还是没法访问一些目录

在这里插入图片描述

可以将SELinux设置为"permissive"模式。在这种模式下,SELinux仍然会运行并记录违规行为,但不会阻止任何活动。

这是一个可以尝试的步骤:

  1. 编辑SELinux配置文件: sudo vi /etc/selinux/config

  2. 找到这一行:SELINUX=enforcing,将其更改为SELINUX=permissive
    在这里插入图片描述

  3. 保存并退出vi编辑器(输入:wq然后回车)。

  4. 重启你的系统使改动生效: sudo reboot
    在你的系统重新启动后,SELinux应该会处于"permissive"模式。你可以通过运行sestatus命令来确认这一点。
    在这里插入图片描述

然而,请注意,虽然这可能解决你当前的问题,但这样做会降低你系统的安全性,因为SELinux不再阻止任何潜在的恶意行为。我建议使用这种方法作为临时的故障排除步骤,而不是长期的解决方案。在确定了问题的根源之后,你应该尽快将SELinux返回到"enforcing"模式,并适当地调整策略以允许所需的访问。

安装tar命令

安装tar命令:

sudo dnf install tar
安装python3.8.10

在openEuler系统中安装特定版本的Python需要一些步骤。下面是安装Python 3.8.10的步骤:

  1. 更新系统:首先更新你的系统,确保所有的包都是最新的。
    sudo yum update
    
  2. 安装依赖:接下来,我们需要安装一些编译Python的必要工具。
    sudo yum install -y gcc openssl-devel bzip2-devel libffi-devel
    
  3. 下载Python:现在,你可以从Python的官方网站下载所需版本的源代码。
    wget https://www.python.org/ftp/python/3.8.10/Python-3.8.10.tgz
    
  4. 解压文件:下载完成后,解压tar文件。
    tar xvf Python-3.8.10.tgz
    
  5. 编译与安装:进入解压后的目录,编译并安装Python。
    cd Python-3.8.10
    ./configure --enable-optimizations
    make altinstall
    

注意,这里我们使用make altinstall而不是make install,原因是这样可以避免替换默认的Python二进制文件。

  1. 检查Python版本:通过执行以下命令,确认Python 3.8.10已经成功安装。
    python3.8 -V
    

以上步骤应该能够帮助你在openEuler系统上安装Python 3.8.10。

安装好后最终显示如下:

在这里插入图片描述

openeuler20.03系统里dnf可以跟yum混着用吗,它们安装的包会不会有冲突?

openEuler20.03系统中的dnfyum都是包管理工具,可以用来安装、更新、删除和管理系统中的软件包。

在最新的Linux发行版中,dnf已经替代了yum作为默认的包管理工具。这两个工具有很多共享的功能,但dnf在依赖解析、速度和用户界面等方面进行了改进。

你可以在同一个系统中同时使用dnfyum,它们不会引起软件包冲突,因为它们实际上都是与RPM(Red Hat Package
Manager)后端交互,操作同一套软件库。

然而,虽然你可以在同一个系统中混合使用这两个工具,但最好还是坚持使用其中一个,以保持操作的一致性。如果你的系统支持dnf,那么建议你优先使用dnf,因为它是更现代化的工具,提供了更好的性能和更准确的依赖解析。

python虚拟环境之前用python -m venv xxx做的,有点问题,可能要重做一下,要用python -m venv xxx…
安装docker(官方方案)(没装成功)

参考昇腾官网提供的docker安装方法

部署Docker(openEuler)

检查源(openEuler系统)

https://www.hiascend.com/document/detail/zh/quick-installation/23.0.RC3/quickinstg/800_3000/quickinstg_800_3000_0012.html#ZH-CN_TOPIC_0000001635592816__section14243151985613

root执行:

yum makecache

yum makecache是一个Linux命令,它主要用于生成并更新YUM(Yellowdog Updater,
Modified)包管理器的元数据缓存。

在更具体的语境中,当你运行yum makecache命令时,它会从所有配置的存储库中下载头文件来创建一个缓存。这个缓存能够帮助YUM快速执行各种操作,比如搜索软件包或检查可用更新。

然而,需要注意的是,在现代的Linux发行版(例如 CentOS 7 和 Fedora 22
或更新版本)中,yum已经被dnf替代。对应的命令是 dnf makecache,其功能和yum makecache一样,都是用来生成和更新包管理器的元数据缓存。

简单总结,yum makecache的作用是加快软件包搜索和更新的速度。

在这里插入图片描述

没啥问题就不执行后续操作了,说是如果太慢就考虑换源

👇换源👇

以openEuler20.03为例,将以下内容复制到/etc/yum.repos.d/openEuler_aarch64.repo文件中(注意,这个源可能失效,要另外找源):

vi /etc/yum.repos.d/openEuler_aarch64.repo
[openEuler-os]
name=openEuler-os
baseurl=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/OS/aarch64/
enabled=1
gpgcheck=0
gpgkey=https://mirrors.huaweicloud.com/openeuler/openEuler-20.03-LTS/OS/aarch64/RPM-GPG-KEY-openEuler

在这里插入图片描述
再执行:

yum makecache

在这里插入图片描述

安装Docker

root执行:

yum install -y docker

不行,太慢了,按照上一步换个源
在这里插入图片描述
换源后确实快不少:在这里插入图片描述

怎么提示Faild?
在这里插入图片描述
启动docker也失败了:

在这里插入图片描述

[root@localhost ~]# systemctl start docker
Job for docker.service failed because the control process exited with error code.
See "systemctl status docker.service" and "journalctl -xe" for details.

卸载docker:

如果你想卸载通过 yum 安装的 Docker,可以按照以下步骤操作:

  1. 停止 Docker 服务:

bash sudo systemctl stop docker

  1. 使用 yum 命令卸载 Docker 包:

bash sudo yum remove docker

这将删除 Docker 的二进制文件,但不会删除任何图像、容器、卷或用户创建的配置文件。如果你希望删除所有 Docker 数据和配置文件,可以删除 Docker 的数据目录。默认情况下,这些目录是 /var/lib/docker/etc/docker

  1. 如果你也想删除所有 Docker 相关的数据(包括镜像、容器和卷),你需要手动删除 /var/lib/docker 目录:

bash sudo rm -rf /var/lib/docker

请注意,在删除任何文件之前,应确保已备份所有重要数据。

会不会华为搞得源有问题啊:

如果你的yum源配置错误或者指向了错误的仓库,可能会导致你安装的库版本不对。Yum源就像是软件库的一个索引,它告诉系统从哪里下载并安装软件。如果这个索引指向的地方不正确,那么你可能会下载到错误的版本,或者甚至根本无法找到你需要的库。

例如,你可能想要安装一个特定版本的库,但是你的yum源可能指向了包含不同版本库的仓库,这样你通过yum安装时可能就会得到一个错误的版本。或者你的yum源可能已经过期或被破坏,导致你无法正常安装任何库。

因此,正确配置yum源非常重要。当遇到问题时,一定要检查你的yum源是否正确,并确保它们指向正确的仓库。

安装docker(方案2)(没成功)

在CentOS上安装Docker可以通过以下步骤完成:

  1. 更新你的包索引

    sudo yum update
    
  2. 卸载旧版本的Docker。如果你之前已经安装过Docker,你需要先卸载它:

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
  3. 设置Docker存储库。安装一些必要的包来让yum使用HTTPS:
    (注意:在 CentOS 8 及其后续版本中,yum-utils 被替换为 dnf-utils)

    sudo yum install -y dnf-utils device-mapper-persistent-data lvm2
    
  4. 添加Docker的官方存储库:

    sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
    
  5. 安装Docker CE

    sudo yum install docker-ce docker-ce-cli containerd.io
    
  6. 启动Docker

    sudo systemctl start docker
    
  7. 验证Docker是否正确安装。运行一个简单的hello-world镜像:

    sudo docker run hello-world
    
  8. 开机自启动Docker:如果你想让Docker在每次系统启动时自动运行,你可以执行下面的命令:

    sudo systemctl enable docker
    

以上步骤应该能帮助你在CentOS上成功安装Docker。

一些错误

执行sudo yum install docker-ce docker-ce-cli containerd.io
错误消息显示,无法下载https://download.docker.com/linux/centos/20.03LTS_SP4/x86_64/stable/repodata/repomd.xml,这个URL是Docker
CE存储库为CentOS 20.03LTS SP4版本提供的地址,但是Docker可能并不支持这个版本。

安装docker(方案3)(不成功)

看起来你在尝试从Docker的官方存储库中安装Docker时遇到了问题。这可能是因为存储库没有你的CentOS版本的支持。

错误消息显示,无法下载https://download.docker.com/linux/centos/20.03LTS_SP4/x86_64/stable/repodata/repomd.xml,这个URL是Docker CE存储库为CentOS 20.03LTS SP4版本提供的地址,但是Docker可能并不支持这个版本。

如果你的系统是RHEL或者其派生版,并且基于2003版本(比如Rocky Linux, AlmaLinux等),那么你可以通过以下步骤使用Docker的官方脚本进行安装:

  1. 移除旧的Docker版本:

    sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
    
  2. 下载Docker的官方安装脚本:

    curl -fsSL https://get.docker.com -o get-docker.sh
    
  3. 运行下载的脚本:

    sudo sh get-docker.sh
    
  4. 启动Docker:

    sudo systemctl start docker
    
  5. 验证Docker是否正确安装,运行一个简单的hello-world镜像:

    sudo docker run hello-world
    
  6. 如果你想让Docker在每次系统启动时自动运行,你可以执行下面的命令:

    sudo systemctl enable docker
    

这个脚本将自动检测你的操作系统类型和版本,然后下载并安装相应的Docker版本。

一些报错

在这里插入图片描述

安装docker(方案5)(不成功)

参考文章:openEuler(华为欧拉)安装docker

netplan

openEuler还不支持netplan,估计修改ip那块都得重新开发了

可以用python platform模块判断操作系统是centos还是ubuntu/debian

安装nmap工具(支持ip_change_service python-nmap库调用)

还是安装openEuler 22.03 LTS吧(?)

参考文章:VMware安装OpenEuler

怎么到这就卡住了?

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu18.04运行ORB-SLAM3

ORB-SLAM3复现(ubuntu18) 文章目录 ORB-SLAM3复现(ubuntu18)1 坐标系与外参Intrinsic parameters2 内参Intrinsic parameters2.1 相机内参① 针孔模型Pinhole② KannalaBrandt8模型③ Rectified相机 2.2 IMU内参 3 VI标定—外参3.1 Visual calibration3.2 Inertial calibration…

构造pop链

反序列化视频笔记 第一步&#xff1a;找到目标触发echo调用$flag 第二步&#xff1a;触发_invoke函数调用appeng函数$varflag.php&#xff08;把对象当成函数&#xff09; 第三步&#xff1a;给$p赋值为对象&#xff0c;即function成为对象Modifier却被当成函数调用&#xff…

基于springboot+vue的校园网上店铺

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…

Android开发者必看,我的移动开发春季历程

热修复介绍 1.开发流程 当项目出现紧急bug时&#xff0c;传统的开发流程是发布新版本&#xff0c;引导用户覆盖安装。抛开平台审核上线的时间不说&#xff0c;一天重复下载安装至少两次的用户体验是很差的。而热修复的出现完美解决了这个问题&#xff0c;用户在收到服务器推送…

概要了解postman、jmeter 、loadRunner

postman还蛮好理解的&#xff0c;后续复习的话着重学习关联接口测试即可&#xff0c;感觉只要用几次就会记住&#xff1a; 1 从接口的响应结果当中提取需要的数据 2 设置成环境变量/全局变量&#xff08;json value check 、set environment para 3写入到下一个接口的请求数据中…

python三剑客之一——Numpy

温故而知新&#xff0c;借着工作需要用到Numpy的机会重新学习一遍Numpy。 Numpy是一个运行速度非常快的数学库&#xff0c;主要用于数组计算&#xff0c;包含如下&#xff1a; 一个强大的N维数组对象ndarray【Nd&#xff08;Dimension维度&#xff09;array】 广播功能函数 整…

找不到msvcr100.dll怎么办,多种解决方法快速修复msvcr100.dll问题

当计算机系统中关键文件msvcr100.dll丢失时&#xff0c;可能会引发一系列运行问题和故障现象。msvcr100.dll是Microsoft Visual C Redistributable Package的一部分&#xff0c;对于许多基于Windows的应用程序正常运行至关重要。由于msvcr100.dll是许多应用程序运行所必需的动态…

22.基于springboot + vue实现的前后端分离-汽车票网上预定系统(项目 + 论文PPT)

项目介绍 系统是一个B/S模式系统&#xff0c;采用Spring Boot框架&#xff0c;MySQL 数据库设计开发&#xff0c;充分保证系统的稳定性。系统具有界面清晰、操作简单&#xff0c;功能齐全的特点&#xff0c;使得汽车票网上预订系统管理工作系统化、规范化。本系统的使用使管理人…

外包干了3个月,技术倒退明显

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

第1题:两数之和

题目内容&#xff1a; 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。…

Vue 3的Composition API和vue2的不同之处

Vue 3的Composition API是Vue.js框架的一个重要更新&#xff0c;它提供了一种新的组件逻辑组织和复用方式。在Vue 2中&#xff0c;我们通常使用Options API&#xff08;data、methods、computed等&#xff09;来组织组件的逻辑&#xff0c;但这种组织方式在处理复杂组件时可能会…

如何搭建Nacos集群

1.搭建Nacos集群 众所周知&#xff0c;在实际的工作中&#xff0c;Nacos的生成环境下一定要部署为集群状态 其中包含3个nacos节点&#xff0c;然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。 我们计划的集群结构&#xff1a; 我就直接在本机上开三个Nacos来搭…

python基础——基础语法

文章目录 一、基础知识1、字面量2、常用值类型3、注释4、输入输出5、数据类型转换6、其他 二、字符串拓展1、字符串定义2、字符串拼接3、字符串格式化4、格式化精度控制 三、条件/循环语句1、if2、while3、for循环 四、函数1、函数定义2、函数说明文档3、global关键字 五、数据…

02:HAL库---GPIO

一:GPIO 1:简历 2:模式 输入 : IO向32发送信号, 即外设发送信号 GPIO_Mode_AIN -----模拟输入 GPIO_Mode_IN_FLOATING -----浮空输入 GPIO_Mode_IPD -----下拉输入 GPIO_Mode_IPU ------上拉输入 GPIO_MODE_INPUT----输入模式 输出 : 32向IO发送信号, 即外设接收信号 …

JavaScript实现鼠标移动特效

关键代码&#xff1a; <script>document.onmousemove function (e) {// 加div节点var div document.createElement(div);div.style.width 5px;div.style.height 5px;// 加img节点var img document.createElement(img);// 将Img追加到div里面。div.appendChild(img);…

MongoDB Helloworld For Window

1. 下载MongoDB Download MongoDB Community Server | MongoDB 2. 安装MongoDB 3. 创建DB. 4. 用java code 连接mongo. 做增删改查操作。 pom.xml <dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-sync</artifactId>&…

Android开发者应该会哪些东西才不会被公司淘汰,阿里P7大佬手把手教你

去年疫情的影响可以说是地狱级的。各大厂都在裁员&#xff0c;我也顺理成章的被公司下架了。 35岁&#xff0c;还有一种尴尬是 别人眼中的你应该是他们未来以为能活成的样子&#xff0c; 和如今真正的自己… 我做了什么 刚被裁掉的那一阵子&#xff0c;我整个人都是懵掉的&am…

网络编程作业day5

将课堂上实现的模型&#xff08;IO多路复用&#xff09;重新自己实现一遍 服务器代码&#xff1a; #include<myhead.h> #define SER_IP "192.168.125.151" //服务器IP #define SER_PORT 8888 //服务器端口号int main(int argc, const char *argv…

wvp-gb28181-pro国标设备录像下载

点击【国标设备】&#xff0c;进入设备通道 每个通道右边都有对应的操作&#xff0c; 点击操作栏中的【设备录像】按钮 点击【设备录像】进入录像查看页面&#xff0c;选择要查看的日期即可对录像进行播放和下载 播放&#xff1a;双击录像名称 下载&#xff1a;点击下载按钮 下…

周边类-找厕所小程序源码

源码获取方式 1&#xff0c;搜一搜 万能工具箱合集 点击资料库 即可进去获取 找厕所小程序源码依赖于腾讯地图的一款源码&#xff0c;腾讯地图api免费申请&#xff0c;是一款免费又永久的不需要服务器的小程序&#xff0c;起个好名字蹭蹭蹭~ 搭建教程&#xff1a; 1、下载源码…