特色

学校电脑室专用操作系统GHOST WIN10 64位 纯净无广告无后门

提供了三种系统恢复工具
其中Ghost安装器 和 CGI硬盘安装增强版 支持mbr分区系统恢复
一键安装系统(支持GTP) 支持GTP EFI系统恢复

注意:系统恢复工具在恢复系统时会修改系统必要启动项,可能会被部分杀毒软件误报!

所以运行装机软件前一定要关闭所有杀毒软件或卫士!!!

请放心使用!

(本系统下载及其他软件,均基于自由分享为目的,请下载者测试完成后24小时内删除。)

本GHOST内集成了电子教室客户端,冰点还原,360企业版(无广告),WPS2019(无广告),火狐、谷歌,金山打字通(无广告)。
默认密码均为abc123

多台机器安装时请临时解锁冰点,然后修改成想要的主机名,再重启。

2022.3.11

系统下载地址:

链接1:https://pan.baidu.com/s/1DEC1WuF20wYDt-G0sxfMYw?pwd=wvi2
提取码:wvi2
–来自百度网盘超级会员V6的分享

链接2:https://pan.baidu.com/s/1CtcRTSHhYL9K6kUzD9yuxA?pwd=4321
提取码:4321
–来自百度网盘超级会员V6的分享

ipmitool 改服务器风扇的转速

戴尔服务器老响

windows ipmitools 

IPMIToolWin

安装方法来自:http://www.4008600011.com/archives/15141

b. 服务器本地win系统下安装此工具,用于对自身服务器BMC发送指令,实现带内管理:

工具下载(点击下载):IPMIToolWin

安装步骤:

1) 将IPMIToolWin.zip压缩包解压后,将整个文件夹放到C盘任一目录,首先安装对应操作系统版本的imbdriver;

64位操作系统,选择x64;32位操作系统,选择x86;

2) 注意:安装需要进入cmd命令行界面,并进入驱动所在目录,安装时须指定安装目录(任意目录),例如:install.cmd C:\IMBDRV\Test ;

3) 其他步骤,与 a 笔记本等电脑终端设备安装步骤相同,最后一步执行对自身bmc发送指令时不需要ip地址等字段:

解决方法:

此问题是由于DELL对未认证的PCI设备的热量估算不准确造成的,默认会加大风扇风速。可以用ipmi有关命令关闭PCIE卡的响应。
注意:如果R730安装的是Esxi系统的时候需要下载IPMICFG_1.29.0,然后Esxi主机开启ssh服务,
将IPMICFG_1.29.0上传到Esxi主机的存储中并为IPMICFG-Linux.x86_64文件添加可执行权限并运行,此时raw要变为 -raw,后面值和下面一样。

 1. 关闭第三方PCIe卡的响应: 

ipmitool raw 0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00 0x05 0x00 0x01 0x00 0x00

2. 打开第三方PCIe卡的响应: 

ipmitool raw 0x30 0xce 0x00 0x16 0x05 0x00 0x00 0x00 0x05 0x00 0x00 0x00 0x00

以下来自:https://zhuanlan.zhihu.com/p/157796567

(从服务器端执行省略 -I lanplus -H ip -U username -P password

需要关闭风扇的根据温度自动控速的功能,否则会出现调节风扇转速之后过几秒钟又恢复原状的情况。

ipmitool.exe -I lanplus -H ip -U username -P password raw 0x30 0x30 0x01 0x00

然后设置转速,注意这里设置的值是一个百分比,通常是最高转速的百分比,对于标准的12V原厂戴尔风扇,这个转速最高能达到12K RPM转,标准的2U机架服务器,六个风扇达到这个转速的噪音犹如飞机起飞。但是也不能调的过低,防止过热影响硬件工作,请注意谨慎调节。

ipmitool.exe -I lanplus -H ip -U username -P password raw 0x30 0x30 0x02 0xff 0x转速的百分比的16进制

对转速进行调节即可

如果要恢复温度自动控速的功能,则执行

ipmitool.exe -I lanplus -H ip -U username -P password raw 0x30 0x30 0x01 0x01

即可

原文地址:

https://www.cnblogs.com/yiminlin/p/15774989.html

希沃一体机内置电脑操作系统

希沃一体机内置电脑操作系统

本文章包含了目前比较常见的几款机型所搭配的内置电脑模块操作系统,具体型号如下:
MT61(高教)、MT61(普教)、MT61(幼教)、MTA3A(win10)、MTA3A(win7)、MTA3B(幼教)、MT41A(H310)、MT41A(H310C)、MT41B、MT21、MT51幼教、MTA1/MTA2、MT51。
对应的希沃SEEWO一体机各型号模块官方原装操作系统下载地址如下:
1、MT61(高教):链接:https://pan.baidu.com/s/1REFhQoEwFcgeaD-xoLAaog 提取码:klod
2、MT61(普教):链接:https://pan.baidu.com/s/127kF0kH0uq7pr0Cexik35g 提取码:ac3i
3、MT61(幼教):链接:https://pan.baidu.com/s/1sFglA9ESsCtz9hG4s3sHYA 提取码:gszl
4、MTA3A(win10):链接:https://pan.baidu.com/s/1qaD2TGBEcfr8WHsqSsds2A 提取码:12rh
5、MTA3A(win7):链接:https://pan.baidu.com/s/1QVjNYGemZ0fpV0kfy9NRJw 提取码:n46s
6、MTA3B(幼教):链接:https://pan.baidu.com/s/1J2ZPoFjoUn3r9LN_u4Cacg 提取码:m3r3
7、MT41A(H310):链接:https://pan.baidu.com/s/1NmgfBgCRigOvWvAkjO35sg 提取码:pkti
8、MT41A(H310C):链接:https://pan.baidu.com/s/1CQICWaVdDc6nIVdhWGAvyA 提取码:htqt
9、MT41B:链接:https://pan.baidu.com/s/1rXEacHSvO3rIkM6eynwZAQ 提取码:1z36
10、MT21:链接:https://pan.baidu.com/s/1Avfbmu8UgjpMTsA2i7pxYw 提取码:8n95
11、MT51幼教:链接:https://pan.baidu.com/s/1x3CjN9RnThEKKLnxwb4h7g 提取码:5ywy
12、MTA1/MTA2:链接:https://pan.baidu.com/s/1Pej4XpwKvsWfXsX1WD917A 提取码:ydry
13、MT51:链接:https://pan.baidu.com/s/1VIDucagpRDgQ7nYHHQT8Gw 提取码:ayzg
下载时、直接将连接地址复制到浏览器进行下载即可。

https://www.rvibo.com/64191.html

PHP8.1 Fiber交叉执行多任务(附代码详解)

大家的电脑应该都是大等于2核的了,但是大家电脑上同时运行的程序大多远远多于cpu的核心数量。这是因为操作系统在任务处理上采取了宏观上并行,微观上串行的做法。也就是cpu每个程序都执行了一点点时间然后就切换去执行别的程序。使得大家看上去都执行了很多。现在 php8.1 。推出了 fiber 。把调度权利赋予给了各位 php 开发。那么我们有 fiber 我们可以实现什么样的新操作呢。(本文给大家抛个砖,欢迎大家补充更有意思的使用)

拿平时大家写的 for 循环举例。像 go 你可以写两个 go 每个里面各写一个循环同时输入,你可以看到输出是交替。在过去的php版本中,如果只开启一个 cli 写多个 for 循环,那么他的输出一定是顺序的。无法做到交叉输出(也就是无法在第一个循环中执行若干次后,让b再执行,b执行一段时间后,再让A执行)。

现在借助 fiber 我们也可以实现这种操作。【推荐学习:PHP视频教程】

下面这段代码就可以做到两个循环交叉执行。甚至可以控制两个程序执行的频率(比如A执行3次,B执行一次这样分配)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

$t1    = false;

$t2    = false;

$reg   = [];

$reg[] = new \Fiber(function () use (&$t1) {

    for ($i = 1; $i < 10; $i++) {

        echo $i;

        echo PHP_EOL;

        \Fiber::suspend();

    }

    $t1 = true;

});

$reg[] = new \Fiber(function () use (&$t2) {

    for ($i = 1; $i < 10; $i++) {

        echo $i;

        echo PHP_EOL;

        \Fiber::suspend();

    }

    $t2 = true;

});

$startTag = true;

while (count($reg) > 1) {

    if ($startTag) foreach ($reg as $pI) {

        $pI->start();

        $startTag = false;

    }

    foreach ($reg as $pI) {

        $pI->resume();

    }

    if ($t1 === true && $t2 === true) {

        break;

    }

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

8

9

9

你甚至可以控制两个循环的执行频率,比如 第一个循环 执行3次后,第二个循环执行一次。代码如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

$reg = [];

$fId = 1;

$reg[$fId] = new \Fiber(function () use (&$reg, $fId) {

    for ($i = 1; $i < 10; $i++) {

        echo $fId . ‘:’ . $i;

        echo PHP_EOL;

        if ($i % 3 == 0) {

            \Fiber::suspend();

        }

    }

    unset($reg[$fId]);

});

$fId++;

$reg[$fId] = new \Fiber(function () use (&$reg, $fId) {

    for ($i = 1; $i < 10; $i++) {

        echo $fId . ‘:’ . $i;

        echo PHP_EOL;

        \Fiber::suspend();

    }

    unset($reg[$fId]);

});

$startTag = true;

while (count($reg) > 0) {

    if ($startTag) foreach ($reg as $pI) {

        $pI->start();

        $startTag = false;

    }

    foreach ($reg as $pI) {

        $pI->resume();

    }

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

1:1

1:2

1:3

2:1

1:4

1:5

1:6

2:2

1:7

1:8

1:9

2:3

2:4

2:5

2:6

2:7

2:8

2:9

通过消息通知完成

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

namespace App\Command;

use Symfony\Component\Console\Attribute\AsCommand;

use Symfony\Component\Console\Command\Command;

use Symfony\Component\Console\Input\InputArgument;

use Symfony\Component\Console\Input\InputInterface;

use Symfony\Component\Console\Input\InputOption;

use Symfony\Component\Console\Output\OutputInterface;

use Symfony\Component\Console\Style\SymfonyStyle;

#[AsCommand(

    name: ‘Sname’,

    description: ‘Add a short description for your command’,

)]

class SnameCommand extends Command

{

    protected function configure(): void

    {

        $this

            ->addArgument(‘arg1’, InputArgument::OPTIONAL, ‘Argument description’)

            ->addOption(‘option1’, null, InputOption::VALUE_NONE, ‘Option description’);

    }

    protected function execute(InputInterface $input, OutputInterface $output): int

    {

        $t1  = false;

        $t2  = false;

        $reg = [];

        $fId = 1;

        $reg[] = new \Fiber(function () use ($fId) {

            for ($i = 1; $i < 10; $i++) {

                echo $fId . ‘:’ . $i;

                echo PHP_EOL;

                if ($i % 3 == 0) {

                    \Fiber::suspend(new SuspendData(Status::Running));

                }

            }

            \Fiber::suspend(new SuspendData(Status::Stop));

        });

        $fId++;

        $reg[] = new \Fiber(function () use ($fId) {

            for ($i = 1; $i < 10; $i++) {

                echo $fId . ‘:’ . $i;

                echo PHP_EOL;

                \Fiber::suspend(new SuspendData(Status::Running));

            }

            \Fiber::suspend(new SuspendData(Status::Stop));

        });

        $startTag = true;

        while (count($reg) > 0) {

            if ($startTag) foreach ($reg as $pI) {

                $pI->start();

                $startTag = false;

            }

            foreach ($reg as $key => $pI) {

                $r = $pI->resume();

                if ($r->status === Status::Stop) {

                  unset($reg[$key]);

                }

            }

        }

        return Command::SUCCESS;

    }

}

class SuspendData

{

    public readonly Status $status;

    public function __construct($status)

    {

        $this->status = $status;

    }

}

enum Status

{

    case Stop;

    case Running;

}

以上就是PHP8.1 Fiber交叉执行多任务(附代码详解)的详细内容,更多请关注php中文网其它相关文章!

原文链接:

https://www.php.cn/topic/php8/486174.html

公共DNS集 和 IPV6 DNS

百度公共DNS 180.76.76.76

腾讯公共DNS:119.29.29.29

阿里云公共DNS 223.5.5.5

谷歌公共DNS 8.8.8.8(国内最慢的)

中国互联网络中心公共DNS 1.2.4.8

openDNS:208.67.222.222

公共IPV6 dns大全

一、阿里ipv6 dns

阿里的dns好在于自家的服务器遍布全球,加上自家研究的CDN技术快稳定,强大的阿里云团队技术坚持也是国内首家支持IPv4和IPv6,双端加持,安全快速。

2400:3200::1
2400:3200:baba::1

二、百度ipv6 dns

百度作为国内最大的搜索引擎服务商,也不甘示弱的推出了ipv6服务,成为国内第二个支持双端IPv4和IPv6服务商之一。

2400:da00::6666

三、天地互连 ipv6 dns

该服务是北京天地互连信息技术有限公司,官方没有太多的介绍,但在全球也布属了多台服务器,该公司响应工信部发文,率先推出国内首个ipv6dns服务。可以说该ipv6是国内最安全的dns之一,毕竟是国家项目。

240C::6666
240C::6644

四、谷歌 vip6 dns

作为全球最大的互联网公司之一的谷歌,也推出了ipv6dns服务,但对于国内用户来说,基本用不着,谷歌除广告业务外,其他业务基本都撤离了中国大陆,包括很多服务器,所有如果不是在香港、台湾一带或离国外交接的地方,不建议是要谷歌dns,服务器响应可能过慢。

2001:4860:4860::8888
2001:4860:4860::8844

目前互联网上能收集的大公司ipv6 dns也就这几家,其他的都是什么研究院和大学的,这就不做分类了,排名不分先后。

建议大家选用哪个DNS之前,可以用ping来测试一下,不同地区不同公司的时延不一样,可以选择延时最少的。

ping -6 IPV6地址

可以测试IPV6 DNS的响应速度。

WPS表格文件越来越大的几个原因和解决方法

在WPS表格操作中, 有时会遇到表格文件内存变得越来越大,打开表格的速度也越来越慢,那么是什么原因造成文件变大,速度变慢呢?

借用之前文章中使用的表格,如下图:

这是一个带有图片和不同颜色单元格的表格。

我们在桌面右击该文件,点击属性可以看到它的相关信息。

这个文件内存并不大,但其实源文件的数据非常庞大,这只是筛选过后的一小部分。在处理源文件时内存有几十兆,然而有一次重新打开文件,一直显示空白,很久才显示出表格数据,左下角的进度条速度非常慢,内存也变成了一百多兆。

其实内存变大无外乎以下几个原因:

比如说插入的图片或者形状,设置的表格样式或者单元格样式,使用了大量的公式,以及包含了多至一万以上的空白单元格等等。

在过去excel中遇到这些问题时,我们通常会到处去找无形无用的形状等,再一个个删除,但是速度比较慢,效果并不好。

而在WPS中,自带了一个很好的工具,即文件瘦身。

点击会员专享工具栏,找到文件瘦身功能。

虽然文件瘦身功能位于会员专享所属功能区,但这个功能并不需要开通会员,能正常使用,我们点击进入设置界面:

系统已经默认勾选了三个项目,可以直接点击“开始瘦身”。

如果你的WPS文件经历过内存突然变大,那么“文件瘦身”轻松一点,便能搞定这个trouble。

以上就是今天的全部内容,欢迎童鞋们关注作者君,一起学习办公小知识!

阅读更多:

WPS表格快速批量设置图片高度与行高度相匹配

Excel表格比复制粘贴替换调整行或列位置更快速的方法

Excel表格中只有一列数据重复如何快速删除整行

小说:我真是一条龙

双龙戏珠·少年争锋

  ————

  01 天龙问世

  你相信龙的存在吗?

  我的父亲告诉我,在我出生那一年,天上金光闪耀,隐隐约约的,云朵里好像能看到一条飞旋的龙。一道金光照入了我们的村子,紧接着,我便出生了。

  我吧,我其实是个无神论者的,而我的父亲……他是一个重度迷信的家伙,非说我是什么神仙转世,硬生生给我取名,刘天龙。

  没办法啊,当时的我又没有能力阻止他,所以就凑合着叫呗——话说,都已经凑合了十多年了——可值得一提的是,我确实天生与众不同。我一出生,就力大无穷,别人家的小孩连一袋鸡蛋都拎不动的时候,我就可以轻轻松松举起一袋面粉了。

  因为这个原因,我后来没少给我爸惹麻烦……

  当时那个年代,人们普遍迷信,但他们并没有像我爸一样觉得我是神仙转世,而是认为我是个怪胎,在我出生之际,他们就想把我给杀了,万幸,被我爸阻止了下来。

  虽然如此,但这些年我没少受排挤,因为面容的与众不同,导致我一个朋友都没有。曾经我有一个玩的非常好的朋友,但突然有一天,他对我说:“我妈不让我跟你一起玩。”相信这句话每个人都听过吧?

  有时候真的搞不懂,那些父母是怎样想的。

  儿时的我们,很天真,很善良,必须要听父母的话……

  于是,他开始带头排挤我。

  谁说人之初、性本善?写这句话的人,一定是穷疯了。

  好好上着课,突然就有一个物体砸到我的头上,我回头一看,地上有一团纸,以及后排座位,我那位好朋友一脸挑衅的表情。下了课,我去问他为什么砸我,他说:“我妈说你是怪物。”

  真的,这是我人生第一次,因为别人的一句话而愤怒!

  那天,我把他狠揍了一顿,并扬言他再敢这样,我就每天打他一次。

  可得到的,却是全班同学的辱骂,说我是个怪物,还告诉老师,说我欺负同学。老师来了,把我批评了一顿,我气不过,放了学就去我那个朋友家里,找他的母亲理论,可她根本就不把我放在眼里,恶狠狠地说道:“你就是个怪物,我儿子欺负你怎么了?你就不是人,指不定是你妈跟哪个野男人生出来的……哦不,不是野男人,是野兽!”

  当时的我还小,根本听不懂她是什么意思,可她骂我妈我还是知道的,于是我跟她打了起来。恰巧那天她家男人也在,于是他们一家三口就一起打我。

  儿时不懂得分寸,我把他们一家全部打倒在地。

  可当回到家,看见我爸拿着一根擀面杖、以及坐在我家客厅,那个全身脏兮兮的妇人时,我突然意识到接下来,要发生什么了。

  我爸把我狠揍了一顿,并向那个妇人道歉,说小孩子不懂事之类的,千万不要报警,另外还赔了他们一笔钱。那妇人拿了钱,开始变的得意起来,说道:“你好好管管你家孩子吧,这么小就敢打大人了,以后还了得?对了,看他这副德性,应该不是你亲生的,我劝你……”

  “滚,滚蛋!”我爸终于发飙了:“拿了钱就快滚,把嘴巴放干净点!”

http://www.山人.com/?action=read&book=%E6%88%91%E7%9C%9F%E6%98%AF%E4%B8%80%E6%9D%A1%E9%BE%99.html

小说:我每天获得一种新能力

第一章 你是我们班最危险的

  “高腾,你在家休养的这几天,我们学校又有男生被害了,找到他的时候,同样只剩身体,头不见了。

  听说遇害的都是长得帅的男生,我们班里你是最危险的。”

  高腾迷迷糊糊听到有人在说话,他睁开眼睛,发现自己躺在床上,房间极其陌生。

  什么情况?

  我这是在哪?

  疑惑间,大量的陌生记忆在脑中涌现出来,他竟然穿越到了一个有超能力的都市世界!

  可这个跟他同名的身体原主却是个没有觉醒能力的普通人。

  因为体弱多病,在家休养身体,结果学校里发生了凶杀案,已经有多名学生遇害了!

  “成年之前不觉醒能力,以后再觉醒能力的可能性微乎其微,这么危险的世界,我却是个普通人,怎么想怎么……”

  高腾深深叹气,脸上满满大写的愁。

  “我真搞不懂,安全局为什么不派人保护你,我在网站上给他们留言,竟然说什么人手不足,太过分了!”

  手机里的女生突然冒出一句话,高腾猛然回过神来,他的视线落在屏幕上,发现是一个没有保存进通讯录的号码。

  “对了,你知道我是谁吗?

  我们没有交换过手机号码,以前在学校的时候,我太害羞,也没有跟你说过话。”

  说到这些,女生的语气变得很怪异,似乎在压抑着内心的亢奋。

  高腾皱起眉头,觉得事情没有那么简单。

  “你觉得很奇怪对不对?

  想知道我为什么有你的联系方式吗?”

  女生忽然笑了起来,笑声极其阴森恐怖。

  “因为……我就是那个变态杀人狂呀。”

  这欢快的声音居然是从客厅的门外传来的,高腾猛地从床上坐起来,浑身冷汗直冒。

  一半是吓的,一半是身体太虚弱。

  原主的身体素质差到令人发指。

http://www.山人.com/?action=read&book=%E6%88%91%E6%AF%8F%E5%A4%A9%E8%8E%B7%E5%BE%97%E4%B8%80%E7%A7%8D%E6%96%B0%E8%83%BD%E5%8A%9B.html