• [行业资讯] 联手腾讯,中兴将发货量超2亿套的操作系统,也开源了?
    近年来,芯片、操作系统等关键技术“卡脖子”现象越来越常见了,这导致我们在网络信息安全、自主可控方面,面临着越来越大的挑战。而使用自己的操作系统,自己的芯片,逐步替代国外的产品,成为了不可逆转的趋势。对于电脑而言,操作系统作为底层硬件与上层应用之间的连接者,是至关重要的,所以操作系统的自主化,非常关键。但大家都清楚,目前的国产操作系统,还难堪大任,按照机构的数据,截止至目前国内Windows操作系统的市场份额仍在90%以上。这是因为国产操作系统起步晚、底子薄,更重要的是在核心技术、终端产品和商业化等方面还有所欠缺。虽然国内出名的操作系统有6款,分别是麒麟、统信、普华、中科红旗、中科方德、中兴新支点,但在windows面前,一个能打都没有。那么如何来发展国产系统?有人认为,必须走开源的模式,然后大家合力,不能各自为政,这样吸引众多的企业一起参与,就像安卓的模式一样,这样才能够与windows竞争。所以在去年的时候,腾讯牵头,拉上宝德、北京初心、北京红旗、飞腾、浪潮、龙芯中科、OPPO、先进开源、中电科申泰、中科方德、兆芯等20余家操作系统生态厂商,搞了一个开源操作系统社区OpenCloudOS,这些合伙伙伴中有操作系统厂商,有芯片厂商,有应用厂商。目的是希望大家一起参与,推动操作系统开源,推动国产操作系统进步,打造出中立、开放、安全、稳定易用、高性能的国产 Linux 操作系统。而近日,中兴新支点也作为初始成员,正式加入了OpenCloudOS操作系统开源社区。中兴新支点有一款自己的操作系统,就叫做新支点,推出时间已经超过了10年,也是一款linux内核的操作系统,发货量超过了2亿套,国内的复兴号高铁都使用它。而加入OpenCloudOS操作系统开源社区,也就意味着中兴将这套操作系统也开源了,希望联手众多的合作伙伴,一起推动这个操作系统进步。       原文标题 : 联手腾讯,中兴将发货量超2亿套的操作系统,也开源了?
  • [行业资讯] 麒麟linux、统信UOS、windows生态对比:差距太大,1%都没有
    最近几年,国内掀起了一股国产替代大潮,大家的想法是从CPU到操作系统,尽量全部换成国产的,从而实现信息产业的自主可控。而操作系统,作为底层硬件和上层软件之间的连接层,一直被认为是重中之重,所以国产操作系统们,这几年动作也是非常多。比如双麒麟的合并(中标麒麟、银河麒麟合并为麒麟软件),还有统信UOS的成立,更是被大家认为是国产操作系统整合,并合力发展的一个开始。而从现在的情况来看,虽然各种套壳linux的国产操作系统非常多,但目前影响最大的两款国产系统应该是麒麟linux、统信UOS了。特别是这两款相对于其它国产系统而言,更加的注重个人桌面端,对windows软件、安卓软件进行了一些适配性的改造,所以也被网友认为,是最有可能替代windows的国产系统。而替代windows,其实并不是一个技术性的问题,而是一个生态性的问题。因为大家离不开windows的根本原因,不是windows有多好,而是windows的生态太丰富了,各种各样的软件都有,各种各样的硬件都支持。那么我们来比较一个麒麟软件、统信UOS、windows三大系统的软、硬件兼容数量,看看差距有多大。先说麒麟linux,按照官方的说法,目前兼容的软件数量(含适配的windows、安卓、linux软件)一共是117226款,而兼容适配的硬件一共是315855款,合计为433081。而统信UOS的目前适配兼容的软、硬件一共是227794款,其中桌面操作系统的适配数量为182066个,服务器版适配数量为46121个,其中软件数约为7.1万,硬件数量约为15.7万多。那windows呢?截止至2021年底,windows下的软件高达3500万个,而适配的硬件数量高达1600万,合计超过5000万。对比之下,意味着麒麟linux的适配数量不卡windows的1%,而统信UOS的适合数量则不足0.5%。单说软件,则差更远,麒麟liunx软件数量约为windows的0.3%,UOS的软件数约为windows的0.2%。对于操作系统而言,软件多、软件全,支持的硬件多,支持的硬件全,才是根本,而根据机构之前的分析,就算抛开一些不日常使用的软件,真正将大家日本软件覆盖,需要的软件数量也至少要超过100万,而硬件数量要超过50万,所以从这一点来看,国产系统还差得比较远。而上图是截止至2021年1月份,国内操作系统的市场情况,大家可以看到windows占了90%+的份额,linux(含国产系统)只占了1.43%的比例,可见差的实在是太远了。       原文标题 : 麒麟linux、统信UOS、windows生态对比:差距太大,1%都没有
  • [技术干货] windows清理系统垃圾bat脚本及使用步骤(转载)
    目录bat (批处理文件类型)一、针对电脑小白的系统垃圾清理二、使用步骤总结bat (批处理文件类型)批处理文件,在DOS和Windows(任意)系统中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。这个文件的每一行都是一条DOS命令(大部分时候就好像我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat 或cmd。比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。一、针对电脑小白的系统垃圾清理12345678910111213141516171819@echo off      echo 正在进行系统垃圾清除,请耐心等待......      del /f /s /q %systemdrive%\*.tmp      del /f /s /q %systemdrive%\*._mp      del /f /s /q %systemdrive%\*.log      del /f /s /q %systemdrive%\*.gid      del /f /s /q %systemdrive%\*.chk      del /f /s /q %systemdrive%\*.old      del /f /s /q %systemdrive%\recycled\*.*      del /f /s /q %windir%\*.bak      del /f /s /q %windir%\prefetch\*.*      rd /s /q %windir%\temp & md %windir%\temp      del /f /q %userprofile%\cookies\*.*      del /f /q %userprofile%\recent\*.*      del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"     del /f /s /q "%userprofile%\Local Settings\Temp\*.*"     del /f /s /q "%userprofile%\recent\*.*"     echo 清除系统垃圾完成!      echo. & pause二、使用步骤1.新建文本 “垃圾清理.txt”2.复制如上代码3.更改后缀名为.bat “垃圾清理.bat”4.运行即可
  • [技术干货] 如何编译【跨平台】的动态库和应用程序
    目录· 示例代码mylibmyapp· Linux 下构建过程cmake 配置make 编译编译、执行· Windows 下构建过程cmake cofigurebuild调试别人的经验,我们的阶梯!大家好,我是道哥,今天我为大伙儿解说的技术知识点是:【使用 cmake 来构建跨平台的动态库和应用程序】。在很久之前,曾经在B站上传过几个小视频,介绍了在Windows和Linux这两个平台下,如何通过cmake和make这两个构建工具,来编译、链接动态库、静态库以及可执行程序。视频中的示例代码是提前写好的,因此重点就放在构建(Build)环节了。主要是介绍了动态库与动态库之间、应用程序与动态库之间的引用等等。对动态库、静态库比较熟悉的小伙伴,应该很容易就能理解其中的内容。但是对 C 语言不熟悉的朋友,看起来还是有一点点障碍。这篇文章,主要是把视频中的示例代码进行简化,只使用一个动态库和一个可执行文件,使用cmake构建工具,演示在 Windows 和 Linux 这两个平台下的构建过程。本文的内容很基础,算是使用 cmake 来构建跨平台程序的入门教程吧!示例代码首先看一下测试代码的全貌:mylib:只有一个源文件,编译输出一个动态库;myapp:也只有一个源文件,链接 mylib 动态库,编译输出一个可执行程序;mylib在mylib目录中,一共有3个文件:mylib.h, mylib.c 以及 CMakeLists.txt,内容分别如下:以上这个代码,主要是用在Windows系统的动态导出库,在 Linux 系统中,不是必要的。补充:在 windows 系统中,编译动态库时会生成 xxx.dll 和 xxx.lib。xxx.dll 中是真正的库文件指令,xxx.lib 中仅仅是符号表。具体来说:在 Windows 系统中,当编译动态库的时候,打开(定义)宏 MYLIB_EXPORT,下面这个宏生效:#define MYLIB_API __declspec(dllexport)这样的话,两个函数 my_add 和 my_sub 的符号才可能被导出到 mylib.lib 文件中。当这个动态库被应用程序(myapp)使用的时候,myapp.c在 include  mylib.h 的时,关闭宏 MYLIB_EXPORT,此时下面这个宏就生效:#define MYLIB_API __declspec(dllimport)为了简化宏定义的复杂度,这里就不考虑静态库了。看完了头文件,再来看看源文件mylib.c:最后再来看一下mylib/CMakeLists.txt文件:关于cmake的语法就不多说了,这里只用到了其中很少的一部分。注意其中的一点:ADD_DEFINITIONS(-DMYLIB_EXPORT),因为这个CMakeLists.txt是用来编译动态库的,因此在Windows平台下,每一个导出符号的前面需要加上 __declspec(dllexport),因此需要打开宏定义:MYLIB_EXPORT。myapp应用程序的代码就更简单了,只有两个文件:myapp.c 和 CMakeLists.txt,内容如下:HelloWorld级别的代码,不需要多解释!CMakeLists.txt内容如下:最后一行 TARGET_LINK_LIBRARIES(${PROJECT_NAME} mylib) 说明要链接mylib这个动态库。那么到哪个目录下去查找相应的头文件和库文件呢?通过这两行来指定查找目录:这个两个目录暂时还不存在,待会编译的时候我们再手动创建。可以让 mylib 在编译时的输出文件,自动拷贝到指定的目录。但是为了不把问题复杂化,某些操作步骤通过手动操作来完成,这样也能更清楚的理解其中的链接过程。最后就剩下最外层的CMakeLists.txt文件了:它所做的主要工作就是:根据不同的平台,定义相应的宏,并且添加了mylib和myapp这两个子文件夹。Linux 下构建过程cmake 配置为了不污染源文件目录,在最外层目录下新建build目录,然后执行cmake指令:此时,在build目录下,产生如下文件:CMakeCache.txt  CMakeFiles  cmake_install.cmake  Makefile  myapp  mylibmake 编译我们可以分别进入mylib和myapp目录,执行make指令来单独编译,也可以直接在build目录下编译所有的目标。现在就直接在build目录下编译所有目标:$ cd ~/tmp/cmake_demo/build$ makeScanning dependencies of target mylib[ 25%] Building C object mylib/CMakeFiles/mylib.dir/mylib.c.o[ 50%] Linking C shared library libmylib.so[ 50%] Built target mylibScanning dependencies of target myapp[ 75%] Building C object myapp/CMakeFiles/myapp.dir/myapp.c.o~/tmp/cmake_demo/myapp/myapp.c:4:19: fatal error: mylib.h: 没有那个文件或目录#include "mylib.h"                  ^compilation terminated.myapp/CMakeFiles/myapp.dir/build.make:62: recipe for target 'myapp/CMakeFiles/myapp.dir/myapp.c.o' failedmake[2]: *** [myapp/CMakeFiles/myapp.dir/myapp.c.o] Error 1CMakeFiles/Makefile2:140: recipe for target 'myapp/CMakeFiles/myapp.dir/all' failedmake[1]: *** [myapp/CMakeFiles/myapp.dir/all] Error 2Makefile:83: recipe for target 'all' failedmake: *** [all] Error 2从提示信息中看出:已经编译生成了 ./mylib/libmylib.so 文件,但是在编译可执行程序 myapp 时遇到了错误:找不到 mylib.h 文件!在刚才介绍myapp/CMakeLists.txt文件时说到:应用程序查找头文件的目录是 myapp/include, 查找库文件的目录是 myapp/lib。但是这2个目录以及相应的头文件、库文件都不存在!因此我们需要手动创建,并且把头文件mylib.h和库文件libmylib.so拷贝进去,操作过程如下:$ cd ~/tmp/cmake_demo/myapp/$ mkdir  include lib$ cp ~/tmp/cmake_demo/mylib/mylib.h ./include/$ cp ~/tmp/cmake_demo/build/mylib/libmylib.so ./lib/注意:刚才编译生成的库文件libmylib.so是在build目录下。准备好头文件和库文件之后,再次编译一下:$ cd ~/tmp/cmake_demo/build/$ make[ 50%] Built target mylib[ 75%] Building C object myapp/CMakeFiles/myapp.dir/myapp.c.o[100%] Linking C executable myapp[100%] Built target myapp此时,就在 build/myapp 目录下生成可执行文件myapp了。测试、执行$ cd ~/tmp/cmake_demo/build/myapp$ ./myappret1 = 7ret2 = 3完美!由于我们是在build目录下编译的,编译过程中所有的输出和中间文件,都放在build目录下,一点都没有污染源文件。Windows 下构建过程把Linux系统中的build文件夹删除,然后把测试代码压缩,复制到Windows系统中继续测试。在Windows下编译,一般就很少使用命令行了,大部分都使用VS或者VSCode来编译。打开 VSCode,然后打开测试代码文件夹 cmake_demo:因为需要使用cmake工具来构建,所以需要在VSCode安装 cmake 插件。(如何安装 VSCode 插件就不赘述了)第一步: cmake 配置按下键盘 ctrl + shift + p,在命令窗口中选择 Cmake: Configure,如果没看到这个选项,就手动输入前面的几个字符,然后就可以智能匹配到:在第一次 Configure 的时候,会弹出下面的选项,来选择编译器:我们这里选择 64 位的 amd64。配置的结果输出在最下面窗口中的output标签中,如下所示:这就表明cmake配置成功,正确的执行了每一个文件夹下的 CMakeLists.txt 文件。这个时候,来看一下资源管理器中有啥变化:自动生成了 build 目录,其中的文件如下:看来,流程与Linux系统中都是一样的,只不过这里是VSCode主动帮我们做了一些事情。第二步: 编译配置之后,下一步就是编译了。按下 shift + F7,或者单击VSCode底部的 Build 图标:弹出编译目标列表:这里选择 ALL_BUILD,也就是编译所有的目标:mylib 和 myapp,输出如下:来看一下编译的输出文件:mylib.dll 就是编译得到的动态链接库,mylib.lib是导入符号。myapp.exe 是编译得到的可执行程序。第三步: 执行我们先在命令行窗口中执行一下myapp.exe:提示错误:找不到动态链接库!手动把mylib.dll拷贝到myuapp.exe同一个目录下,然后再执行一次 myapp.exe:完美!但是,既然已经用VSCode来编译了,那就继续在VSCode中进行代码调试吧。按下调试快捷键 F5,第一次会弹出调试器选择项:选择 LLDB,然后弹出错误对话框:因为我们没有提供相应的配置文件来告诉VSCode调试哪一个可执行程序。单击[OK]之后,VSCode 会自动为我们生成 .vscode/launcher.json 文件,内容如下:把其中的program项目,改成可执行程序的全路径:"program": "F:/tmp/cmake_demo/build/myapp/Debug/myapp.exe"然后再次按下F5键,这回终于可以正确执行了:此时,就可以在mylib.c或者myapp.c中设置断点,然后进行单步调试程序了:
  • [热门活动] CANN体验官第四期学习笔记
         一直关注华为的昇腾产品的技术发展,从星火计划,到去年的4次cann训练营,cann体验官活动;到今年初的再次开班第一季cann训练营。感受到华为的技术实力,以及在建立生态上长期投入的决心。    这次又有cann体验官活动了,看内容真心为华为感到高兴:有新的Ascend 310P芯片,还有新的api。同时也感到非常荣幸能参加这次活动,共同见证新产品最后落地的过程。    学习的过程中会碰到各种问题,开发环境的建立,版本匹配,运行库目录配置,好多坑要过。静下心多看文档,问问老师,和同学们讨论讨论,发求助贴总能过的。调通了还是挺有成就感的。这次体验就边练边记,把过程和关键链接都放在帖子里,免得时间长忘记了。    首先是登录开发环境,这次有两种方式,白名单和VPN方式:都需要向小助手申请连接账号、连接参数。下面是小助手微信里发回的图:    刚开始在终端运行 ssh -p 20214 CANNTY0002@12x.6x.1xx.x1   。申请白名单的时候没注意,用了单位的ip是有多条出口的。估计等用的时候ip变了,没在白名单里,所以暂时连接失败。和第二批一起用了个华为的ecs的固定ip再次申请,等白名单下来了再试试。     后来按照(ATC推理环境VPN登录使用说明.pdf)用VPN连接成功了。用的是SecoClient,拨号前先要在操作系统里开启证书服务:在win10(用win7没有做这步操作)的命令行里输入:services.msc,然后把Certificate Propagation的启动类型改自动,服务状态下的启动按键也点下:     然后导入SSL客户端个人数字证书:按小助手给我平台用户CANNTY0002,应该下载client02.p12;然后在命令行输入:inetcpl.cpl :    会提示输入密码:我的用户证书是client02.p12 ,对应密码是:davinci02,然后一路点确定 。    看到下面的图如果有这两项,SSL客户端证书就导入成功了。    下一步就安装SecoClient:会出现SVN provider网络适配器,继续点击安装,然后打开SecoClient的SSL VPN客户端。    Mac上也可以的:    然后配下VSCode里REMOTE的SSH连接参数:    编辑 ~/.bashrc , 把/usr/local/Ascend/ascend-toolkit/set_env.sh的内容和python路径加上去,运行下atc命令试试,这样开发环境基本搭好了。
  • [技术干货] openGauss数据库ODBC环境连接配置(Windows)
    Windows操作系统自带ODBC数据源管理器,无需用户手动安装管理器便可直接进行配置。操作步骤步骤一 下载客户端GaussDB驱动程序并进行安装:下载地址:cid:link_0 在本地(例如D:/download)下载ZIP文件后进行解压缩,解压缩后文件如下。由于本实验openGauss安装在ECS(openEuler ARM)上,所以进入Euler2.8_arm_64文件夹,显示如下:解压缩GaussDB-Kernel-V500R001C10-Windows-Odbc.tar.gz文件,显示如下:点击psqlodbc_x86.msi进行安装:默认设置,直到安装完毕。步骤二 打开驱动管理器。在配置数据源时,请使用对应的驱动管理器(假设操作系统安装盘符为C盘,如果是其他盘符,请对路径做相应修改):64位操作系统上进行64位程序开发,安装64位驱动程序后,使用64位的驱动管理器:C:\Windows\System32\odbcad32.exe 或者直接使用“控制面板 > 管理工具 > ODBC 数据源(64 位)。步骤三 配置数据源。在打开的驱动管理器上,选择“用户DSN > 添加 > PostgreSQL Unicode(x64)”,然后进行配置:Data Source:openGauss (数据源名称,可以自定义)。Database:db_tpcc (需要连接的Datebase名称)。Server:openGauss数据库服务器的公网IP,请根据实际情况填写。Pot:26000 (端口号)。User Name:joe (连接数据库的用户名,不能使用omm用户,需要在数据库中创建)Password:dbuser用户的密码,请根据实际情况填写。步骤四 验证并保存设置。点击Test,显示 Connection successful 表示设置成功:点击保存:配置成功!
  • [技术干货] Windows下配置ODBC数据源
    Windows操作系统自带ODBC数据源管理器,无需用户手动安装管理器便可直接进行配置。操作步骤步骤 1 下载客户端GaussDB驱动程序并进行安装:           下载地址:cid:link_0          在本地(例如D:/download)下载ZIP文件后进行解压缩,解压缩后文件如下。由于本实验openGauss安装在ECS(openEuler ARM)上,所以进入Euler2.8_arm_64文件夹,显示如下:解压缩GaussDB-Kernel-V500R001C10-Windows-Odbc.tar.gz文件,显示如下:点击psqlodbc_x86.msi进行安装:默认设置,直到安装完毕。步骤 2 打开驱动管理器。          在配置数据源时,请使用对应的驱动管理器(假设操作系统安装盘符为C盘,如果是其他盘符,请对路径做相应修改):          64位操作系统上进行64位程序开发,安装64位驱动程序后,使用64位的驱动管理器:C:\Windows\System32\odbcad32.exe 或者直接使用“控制面板 > 管理工具 > ODBC 数据源(64 位)。步骤 3 配置数据源。            在打开的驱动管理器上,选择“用户DSN > 添加 > PostgreSQL Unicode(x64)”,然后进行配置:Data Source:openGauss (数据源名称,可以自定义)。Database:postgres (需要连接的Datebase名称)。Server:openGauss数据库服务器的公网IP,请根据实际情况填写。Pot:26000 (端口号)。User Name:dbuser (连接数据库的用户名,不能使用omm用户,需要在数据库中创建)Password:dbuser用户的密码,请根据实际情况填写。步骤 4 验证并保存设置。点击Test,显示 Connection successful 表示设置成功:点击保存:配置成功!
  • [培训赋能] xxx伙伴三日集中赋能培训——初级阶段【第三课: 网页与Windows本地程序自动化】
    本课内容预览:网页元素定位;Xpath基础;常用Web网页自动化控件使用;常用桌面应用程序自动化控件的使用;样例与演练;
  • [执行问题] Anaconda3为Mindspore创建的环境,在Pycharm下编译通过,Vs Code下会报错
    在官网教程上找张量的代码在Vscode做测试报错,但是同样的环境在Pycharm可以跑通
  • [安装经验] windows10下基于Anaconda3的Mindspore1.7.0的安装经验
    前言最近想体验一下1.7.0版本,之前是1.6.1版本而且当时没有做环境管理,所以在调用的时候,有时候会和主机里的其它环境冲突于是想着趁着换一台主机就在Anaconda环境里重装一下安装过程进入cmd 为mindspore创建一个环境起名为mindsporeconda create -n mindspore python=3.9.0(注意Python版本,之前默认的它会安装3.9.12导致又重装)然后进入该环境 conda activate mindspore在官网找到对应的版本可以选用pip安装也可以选用conda安装,在此我选用conda安装指令复制粘贴:conda install mindspore-cpu=1.7.0 -c mindspore -c conda-forge输入y点击回车即开始安装,安装完成会输出“done”检验安装的有效性 输入:python -c "import mindspore;mindspore.run_check()"输出版本号+Successfully即表示安装成功测试从教程里扒拉下来的自动微分代码输出[6.]与案例结果一样,测试成功
  • [问题求助] 【mindstudio产品】【远程链接功能】在Windows上使用mindstudio配置开发板上的cann出错
    【功能模块】在windows上使用mindstudio 5.0.RC1配置remote cann。板子上的cann是5.1.RC1.alpha003。【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)2022-05-13 11:16:40,163 [8229267]   INFO - ponent.remotessh.RemoteSshImpl - ===>start get ssh client 2022-05-13 11:16:40,165 [8229269]   INFO - z.sshj.transport.TransportImpl - Client identity string: SSH-2.0-SSHJ_0.31.0 2022-05-13 11:16:40,190 [8229294]   INFO - z.sshj.transport.TransportImpl - Server identity string: SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.6 2022-05-13 11:16:40,304 [8229408]   INFO - ponent.remotessh.RemoteSshImpl - <===get ssh client finish 2022-05-13 11:16:40,782 [8229886]   INFO - ponent.remotessh.RemoteSshImpl - ===>start get ssh client 2022-05-13 11:16:40,785 [8229889]   INFO - z.sshj.transport.TransportImpl - Client identity string: SSH-2.0-SSHJ_0.31.0 2022-05-13 11:16:40,809 [8229913]   INFO - z.sshj.transport.TransportImpl - Server identity string: SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.6 2022-05-13 11:16:40,926 [8230030]   INFO - ponent.remotessh.RemoteSshImpl - <===get ssh client finish 2022-05-13 11:16:42,083 [8231187]   INFO - z.sshj.transport.TransportImpl - Disconnected - BY_APPLICATION 2022-05-13 11:16:42,084 [8231188]   INFO - z.sshj.transport.TransportImpl - Disconnected - BY_APPLICATION 2022-05-13 11:16:42,095 [8231199]   WARN - e.adkstatus.InstallPackageUtil - ExceptionEnum{code=7006, message='No adk info file, Please check the file is missing.'} 2022-05-13 11:19:23,780 [8392884]   INFO - e.adkstatus.InstallPackageUtil - adk root path from other.xml is null or empty 2022-05-13 11:19:23,780 [8392884]   INFO - e.adkstatus.InstallPackageUtil - adk version from other.xml is null or empty 2022-05-13 11:19:23,780 [8392884]   WARN - e.adkstatus.InstallPackageUtil - ExceptionEnum{code=6999, message='No CANN or Lib is found. Install CANN or synchronize Lib first.'} 2022-05-13 11:19:23,780 [8392884]   INFO - e.adkstatus.InstallPackageUtil - adk version from other.xml is null or empty 2022-05-13 11:19:23,780 [8392884]   WARN - e.adkstatus.InstallPackageUtil - Sub package list is empty 2022-05-13 11:19:25,316 [8394420]   WARN - tions.ex.ConfigurableCardPanel - auto-dispose 'CANN' id=system.adk 2022-05-13 11:19:25,546 [8394650]   INFO - .service.adkstatus.AdkInfoUtil - no activity adk 2022-05-13 11:19:25,546 [8394650]   INFO - .service.adkstatus.AdkInfoUtil - no activity adk 2022-05-13 11:19:26,050 [8395154]   INFO - .service.adkstatus.AdkInfoUtil - no activity adk 2022-05-13 11:19:26,051 [8395155]   INFO - .service.adkstatus.AdkInfoUtil - no activity adk 2022-05-13 11:19:26,555 [8395659]   INFO - .service.adkstatus.AdkInfoUtil - no activity adk 2022-05-13 11:19:26,556 [8395660]   INFO - .service.adkstatus.AdkInfoUtil - no activity adk 2022-05-13 11:19:27,054 [8396158]   INFO - .service.adkstatus.AdkInfoUtil - no activity adk 2022-05-13 11:19:27,055 [8396159]   INFO - .service.adkstatus.AdkInfoUtil - no activity adk 
  • [整体安全] 【漏洞通告】Windows 内核特权提升漏洞CVE-2022-29142
    漏洞名称:Windows 内核特权提升漏洞组件名称:ntoskrnl.exe影响范围:Windows 10 Version 1809/1909/20H2/21H1/21H2 for 32/64-bit/ARM64-based SystemsWindows Server 2019Windows Server 2022 (Server Core installation)Windows Server version 20H2 (Server Core Installation)漏洞类型:本地权限提升利用条件:1、用户认证:需要2、前置条件:无3、触发方式:本地运行命令行程序,触发漏洞综合评价:<综合评定利用难度>:未知。<综合评定威胁等级>:高危,能造成本地权限提升。漏洞分析:1、组件介绍ntoskrnl.exe,即 Windows 内核,主要负责处理系统调用和调度系统资源,进程处于用户态可以使用系统调用与 ntoskrnl 进行交互。2、漏洞描述近日,监测到一则 Windows 内核权限提升漏洞的信息,漏洞编号:CVE-2022-29142,漏洞威胁等级:高危。攻击者可利用该漏洞在获得权限的情况下,构造恶意数据执行本地提权攻击,最终获取服务器最高权限。影响范围:目前受影响的 Windows 版本:Windows 10 Version 1809/1909/20H2/21H1/21H2 for 32/64-bit/ARM64-based SystemsWindows Server 2019Windows Server 2022 (Server Core installation)Windows Server Version 20H2 (Server Core Installation)解决方案:1、如何查看组件系统版本在 cmd 中执行systeminfo,在命令行输出中查看是否存在以下网址中Security Updates一栏Article一列中系统对应的补丁包。https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-291422、官方修复建议当前官方已发布受影响版本的对应补丁,建议受影响的用户及时更新官方的安全补丁。链接如下:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-29142打补丁方法:Windows设置-更新与安全-Windows更新-检查更新参考链接:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-29142
  • [整体安全] 【漏洞通告】Windows LSA远程代码执行漏洞CVE-2022-26925
    漏洞名称:Windows LSA远程代码执行漏洞组件名称:efslsaext.dll影响范围:Windows 7Windows 8.1Windows 10 Version 1607, 1809,1909, 2004, 20H2Windows Server version 2008,2012,2016,2019,2004, 20H2漏洞类型:远程代码执行利用条件:1、用户认证:不需要2、前置条件:无3、触发方式:远程发送恶意数据包,触发漏洞综合评价:<综合评定利用难度>:未知。<综合评定威胁等级>:高危,能造成远程代码执行。漏洞分析:1、组件介绍本地安全机构 (LSA)是 Microsoft Windows 操作系统中安全子系统的核心组件。LSA 负责管理对系统的交互式登录。LSA 身份验证描述了应用程序可以用来对用户进行身份验证和登录到本地系统的本地安全机构 (LSA) 的部分,它还描述了如何创建和调用身份验证包和安全包。2、漏洞描述近日,监测到一则 efslsaext.dll 组件存在远程代码执行漏洞的信息,漏洞编号:CVE-2022-26925,漏洞威胁等级:高危。该漏洞是由于逻辑错误,攻击者可利用该漏洞在未授权的情况下,构造恶意数据执行远程代码执行攻击,最终获取服务器最高权限。影响范围:目前受影响的 Windows 版本:Windows 7Windows 8.1Windows 10 Version 1607, 1809,1909, 2004, 20H2Windows Server version 2008,2012,2016,2019,2004, 20H2解决方案:1、如何查看组件系统版本在 cmd 中执行 systeminfo,在命令行输出中查看是否存在以下网址中Security Updates一栏Article一列中系统对应的补丁包。https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-269252、官方修复建议当前官方已发布受影响版本的对应补丁,建议受影响的用户及时更新官方的安全补丁。链接如下:https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-26925打补丁方法:Windows设置-更新与安全-Windows更新-检查更新参考链接:https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2022-26925
  • [安装经验] Windows 11安装TinyMS 0.3.1
    张小白曾经在 https://bbs.huaweicloud.com/blogs/330059  写过如何在windows 11预览版的wsl ubuntu 18.04环境中,安装TinyMS,可是有网友非要安装在Windows上。这也不是不可以,但是众所周知,MindSpore Windows版本还不支持GPU(CUDA)。但是既然有用户要这么玩,那张小白也就试一试吧。根据 https://tinyms.readthedocs.io/en/latest/quickstart/install.html 的方式安装:进入Anaconda Prompt,创建conda python3.7.5的环境:conda create -n tinyms python=3.7.5按Y继续:耐心等待下载及安装结束后,进入conda环境:conda activate tinyms安装tinyms:pip install tinyms==0.3.1 -i http://mirrors.aliyun.com/pypi/simple --trusted-host=mirrors.aliyun.com安装完毕后,进行验证:python下输入:import tinyms as ts from tinyms.primitives import tensor_add x = ts.ones([2, 3]) y = ts.ones([2, 3]) print(tensor_add(x, y))看到最后很多2,表示安装成功。注:如果遇到以下问题:提示说: error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/我们根据出错提示,打开 Microsoft C++ 生成工具 - Visual Studio点击“下载生成工具”单击下载好的文件:不一会儿,出现安装界面:选择安装第一个:耐心等待下载和安装完毕:会提示重启电脑:重启后重新进入conda环境:conda activate tinymspip install tinyms==0.3.1 -i http://mirrors.aliyun.com/pypi/simple --trusted-host=mirrors.aliyun.com安装成功。同样的也可以验证成功:(全文完,谢谢阅读)
  • [技术干货] 玩转Atlas 200DK(一)分设环境之开发环境准备
    打开昇腾官网 https://www.hiascend.com/software/cann/community  ,会发现CANN的版本已经升级到了5.1.RC1.alpha005:然而这不是玩转Atlas 200DK的最佳方式。为什么呢?因为CANN的开发工具链MindStudio 3.0.4目前仅支持到CANN 5.0.4:而对于开发者而言, 有个类似PyCharm的Jetbrain图形化的IDE环境,对于无论是开发C++代码还是开发Python代码的人而言,无疑会如虎添翼。所以,在MindStudio最新版 3.0.4 尚未支持 CANN 5.1RC版本之前,我们就用Atlas 200+CANN 5.0.4+MindStudio 3.0.4这个组合吧!在搭建具体环境之前,我们先理解一下下面的图以及文字:其实图中和文字都写得很清楚了。本系列文档打算搭建上面提到的场景二——开发环境与运行环境分设。分设的意思是:(1)开发环境——在Windows上安装Ubuntu 18.04 x86_64操作系统的虚拟机。并在其上安装CANN的toolkit的x86和aarch64(即ARM)两个版本。同时安装gcc和对应的交叉编译器。AI的项目工程放在这台x86服务器上,进行交叉编译,编译成能被 Atlas 200DK执行的程序版本。(2)运行环境——在200DK上安装Ubuntu 18.04 arm的操作系统(介质为TF卡,最好是高速的TF卡。并在其上安装nnrt、驱动(driver)和firmware,作为运行AI推理程序的运行环境。以上,(1)编译出的代码通过MindStudio传送到(2)上运行,MindStudio同时会将(2)上的运行结果(包括文件)传输回(1)上,以供查看结果。好了,理解了上述环境的内容和目标之后,我们就开始正式创建这样的环境吧!一、开发环境的搭建1、创建Ubuntu 18.04x86 操作系统的虚拟机先去ubuntu官网下载ubuntu 18.04桌面版的x86安装包:链接如下:https://old-releases.ubuntu.com/releases/18.04.5/ubuntu-18.04.5-desktop-amd64.iso之所以需要桌面版,是因为MindStudio需要图形界面。打开VMWare新建虚拟机:选择简易安装方式:硬盘先给40G,不够以后再加:耐心等待系统安装:直到安装完毕,出现登陆页面:2、安装必要的依赖软件和环境整理(1)安装net-tools刚搭建好的虚拟机ifconfig无法使用,需要安装net-tools包:检查usb和网卡情况:(2)禁止Ubuntu系统自动更新如不进行本项设置,没准操作系统会升级到ubuntu 20.04版本:修改/etc/apt/apt.conf/d/10periodc文件,将第一个参数改为0(3)修改apt源为国内源修改文件:/etc/apt/sources.listdeb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversesudo apt-get update(4)安装gcc,make,cmake及其相关依赖apt-get install -y gcc g++ make cmake zlib1g-dev libbz2-dev libsqlite3-dev libssl-dev libxslt1-dev libffi-dev net-tools libncursesw5-dev(5)安装openssh-server系统缺省没有安装sshd,安装openssh-server以便可以通过MobaXterm访问:(6)安装jdk11根据张小白写过的博客:https://bbs.huaweicloud.com/blogs/320708   来安装JDK11,先到Oracle官网下载安装包:点击Download出现登陆:登陆后完成Windows下的下载:将其传到ubuntu 18.04上去:然后按照文档的方式进行安装(中间步骤详见上个链接中的文档)。但是,这里会出现一个问题,11.0.4貌似安装有点问题,张小白就去下载了11.0.3的安装包:重新按照文档来,终于安装成功:检查Java版本:3、安装CANN Toolkit根据前面讲解过的图可以得知,需要同时安装CANN toolkit的x86版本和aarch64版本:(1)下载Toolkit:wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/5.0.4.alpha005/Ascend-cann-toolkit_5.0.4.alpha005_linux-x86_64.runwget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/5.0.4.alpha005/Ascend-cann-toolkit_5.0.4.alpha005_linux-aarch64.run(2)检查Toolkit:./Ascend-cann-toolkit_5.0.4.alpha005_linux-x86_64.run --check./Ascend-cann-toolkit_5.0.4.alpha005_linux-aarch64.run --check(3)安装Toolkit:./Ascend-cann-toolkit_5.0.4.alpha005_linux-x86_64.run --install --chip=Ascend310-minirc./Ascend-cann-toolkit_5.0.4.alpha005_linux-aarch64.run --install --chip=Ascend310-minirc根据x86 toolkit安装结束时提示信息,将以下内容加到 ~/.bashrc中:. /home/ascend/Ascend/ascend-toolkit/setenv.shsource ~/.bashrc使得环境变量生效。(未完待续)