CentOS Linux 8 – AppStream 错误:为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist

今天2022年2月18日在CentOS 8上安装软件时,遇到如下报错:
在这里插入图片描述

CentOS Linux 8 – AppStream 错误:为仓库 ‘appstream’ 下载元数据失败 : Cannot prepare internal mirrorlist: No URLs in mirrorlist

在网上一顿搜索也没能解决,最终在阿里云开发者社区找到了答案!网址为:https://developer.aliyun.com/mirror/centos
问题原因

CentOS Linux 8在2022年12月31日来到生命周期终点(End of Life,EoL)。即CentOS Linux 8操作系统版本结束了生命周期(EOL),Linux社区已不再维护该操作系统版本。所以原来的CentOS Linux 8的yum源也都失效了!最终导致此问题的产生。
问题解决方法

更换CentOS Linux 8的yum源

1、切换到源目录,备份原来的源

[root@17-132gui /]# cd /etc/yum.repos.d/
[root@17-132gui yum.repos.d]# ls -l
总用量 48
-rw-r–r–. 1 root root  719 2月  18 14:36 CentOS-Linux-AppStream.repo
-rw-r–r–. 1 root root  704 2月  18 14:36 CentOS-Linux-BaseOS.repo
-rw-r–r–. 1 root root 1130 9月  15 09:11 CentOS-Linux-ContinuousRelease.repo
-rw-r–r–. 1 root root  318 9月  15 09:11 CentOS-Linux-Debuginfo.repo
-rw-r–r–. 1 root root  732 9月  15 09:11 CentOS-Linux-Devel.repo
-rw-r–r–. 1 root root  704 9月  15 09:11 CentOS-Linux-Extras.repo
-rw-r–r–. 1 root root  719 9月  15 09:11 CentOS-Linux-FastTrack.repo
-rw-r–r–. 1 root root  740 9月  15 09:11 CentOS-Linux-HighAvailability.repo
-rw-r–r–. 1 root root  693 9月  15 09:11 CentOS-Linux-Media.repo
-rw-r–r–. 1 root root  706 9月  15 09:11 CentOS-Linux-Plus.repo
-rw-r–r–. 1 root root  724 9月  15 09:11 CentOS-Linux-PowerTools.repo
-rw-r–r–. 1 root root 1124 9月  15 09:11 CentOS-Linux-Sources.repo
[root@17-132gui yum.repos.d]# mkdir bak
[root@17-132gui yum.repos.d]# mv CentOS-Linux-* bak
[root@17-132gui yum.repos.d]# ls
bak

    1
     2
     3
     4
     5
     6
     7
     8
     9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19

在这里插入图片描述

2、下载新的源文件,并用命令yum makecache建立新的元数据缓存

下载源文件命令:

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo

    1

[root@17-132gui yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
–2022-02-18 15:12:16–  https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)… 124.95.160.238, 124.95.160.244, 124.95.160.243, …
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|124.95.160.238|:443… 已连接。
已发出 HTTP 请求,正在等待回应… 200 OK
长度:2495 (2.4K) [application/octet-stream]
正在保存至: “/etc/yum.repos.d/CentOS-Base.repo”

/etc/yum.repos.d/CentOS-B 100%[===================================>]   2.44K  –.-KB/s  用时 0s     

2022-02-18 15:12:16 (21.2 MB/s) – 已保存 “/etc/yum.repos.d/CentOS-Base.repo” [2495/2495])

[root@17-132gui yum.repos.d]# ls
bak  CentOS-Base.repo
[root@17-132gui yum.repos.d]# vim CentOS-Base.repo
[root@17-132gui yum.repos.d]# yum makecache
CentOS-8.5.2111 – Base – mirrors.aliyun.com                           1.2 MB/s | 4.6 MB     00:03   
CentOS-8.5.2111 – Extras – mirrors.aliyun.com                          37 kB/s |  10 kB     00:00   
CentOS-8.5.2111 – AppStream – mirrors.aliyun.com                      1.1 MB/s | 8.4 MB     00:07   
元数据缓存已建立。
[root@17-132gui yum.repos.d]#

    1
     2
     3
     4
     5
     6
     7
     8
     9
     10
     11
     12
     13
     14
     15
     16
     17
     18
     19
     20
     21
     22

3、测试源(用yum命令装个软件试试)
在这里插入图片描述

yum源已经可以正常使用了,问题最终得到解决!特此记录,以备查用!
————————————————
版权声明:本文为CSDN博主「日日行不惧千万里」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wykqh/article/details/123004620

深入剖析 Windows 7 网络感知功能,网络连接状态指示器开机就发包

Windows 7 每次开机,都会自动连接互联网,并且对外发包,获取互联网数据,这让人感觉很恶心,跟木马一样,我最讨厌什么破系统、软件一开机就联网,并且访问某个地址,超级恶心。

这是由于 Windows 7 的网络感知功能在作怪,即:Windows 网络连接状态指示器活动测试,网络连接状态指示器,开机就发包,后来抓了点包,手动分析了下,结果如下。

以下数据包是在纯净 Windows 7 中抓取,无第任何三方软件,并且进行过优化,关掉了很多服务,不排除其他服务也开机发包,这里只分析 Windows 7 网络感知功能,网络连接状态指示器,数据包如下:

UDP 192.168.1.2 8.8.4.4 56972 53 MarsPC google-public-dns-b.google.com domain

00000000 31 FC 01 00 00 01 00 00 00 00 00 00 03 77 77 77 1……. …..www

00000010 08 6D 73 66 74 6E 63 73 69 03 63 6F 6D 00 00 01 .msftncs i.com…

00000020 00 01 ..

00000000 31 FC 81 80 00 01 00 03 00 00 00 00 03 77 77 77 1……. …..www

00000010 08 6D 73 66 74 6E 63 73 69 03 63 6F 6D 00 00 01 .msftncs i.com…

00000020 00 01 C0 0C 00 05 00 01 00 00 0C F5 00 1B 07 6E …….. …….n

00000030 65 77 6E 63 73 69 06 67 6C 62 64 6E 73 09 6D 69 ewncsi.g lbdns.mi

00000040 63 72 6F 73 6F 66 74 C0 19 C0 2E 00 05 00 01 00 crosoft. ……..

00000050 00 00 11 00 07 04 6E 63 73 69 C0 36 C0 55 00 01 ……nc si.6.U..

00000060 00 01 00 00 00 11 00 04 41 37 77 5A …….. A7wZ

TCP 192.168.1.2 65.55.119.90 49159 80 MarsPC http

GET /ncsi.txt HTTP/1.1

Connection: Close

User-Agent: Microsoft NCSI

Host: www.msftncsi.com

HTTP/1.1 200 OK

Cache-Control: max-age=30,must-revalidate

Content-Type: text/plain

Last-Modified: Tue, 13 Jan 2009 00:37:56 GMT

Accept-Ranges: bytes

ETag: “4e504c2d1775c91:0”

Server: Microsoft-IIS/7.0

X-Powered-By: ASP.NET

Date: Thu, 19 Jan 2012 00:39:17 GMT

Connection: close

Content-Length: 14

Microsoft NCSI

UDP 192.168.1.2 8.8.4.4 64049 53 MarsPC google-public-dns-b.google.com domain

00000000 29 71 01 00 00 01 00 00 00 00 00 00 01 31 01 30 )q…… …..1.0

00000010 01 30 03 32 32 34 07 69 6E 2D 61 64 64 72 04 61 .0.224.i n-addr.a

00000020 72 70 61 00 00 0C 00 01 rpa…..

00000000 29 71 81 80 00 01 00 01 00 00 00 00 01 31 01 30 )q…… …..1.0

00000010 01 30 03 32 32 34 07 69 6E 2D 61 64 64 72 04 61 .0.224.i n-addr.a

00000020 72 70 61 00 00 0C 00 01 C0 0C 00 0C 00 01 00 00 rpa….. ……..

00000030 67 8E 00 17 0B 61 6C 6C 2D 73 79 73 74 65 6D 73 g….all -systems

00000040 05 6D 63 61 73 74 03 6E 65 74 00 .mcast.n et.

UDP 192.168.1.2 8.8.4.4 56999 53 MarsPC google-public-dns-b.google.com domain

00000000 54 1C 01 00 00 01 00 00 00 00 00 00 01 31 01 31 T……. …..1.1

00000010 03 31 36 38 03 31 39 32 07 69 6E 2D 61 64 64 72 .168.192 .in-addr

00000020 04 61 72 70 61 00 00 0C 00 01 .arpa… ..

00000000 54 1C 81 83 00 01 00 00 00 00 00 00 01 31 01 31 T……. …..1.1

00000010 03 31 36 38 03 31 39 32 07 69 6E 2D 61 64 64 72 .168.192 .in-addr

00000020 04 61 72 70 61 00 00 0C 00 01 .arpa… ..

UDP 192.168.1.2 8.8.4.4 57817 53 MarsPC google-public-dns-b.google.com domain

00000000 53 D3 01 00 00 01 00 00 00 00 00 00 01 34 01 34 S……. …..4.4

00000010 01 38 01 38 07 69 6E 2D 61 64 64 72 04 61 72 70 .8.8.in- addr.arp

00000020 61 00 00 0C 00 01 a…..

00000000 53 D3 81 80 00 01 00 01 00 00 00 00 01 34 01 34 S……. …..4.4

00000010 01 38 01 38 07 69 6E 2D 61 64 64 72 04 61 72 70 .8.8.in- addr.arp

00000020 61 00 00 0C 00 01 C0 0C 00 0C 00 01 00 01 51 80 a……. ……Q.

00000030 00 20 13 67 6F 6F 67 6C 65 2D 70 75 62 6C 69 63 . .googl e-public

00000040 2D 64 6E 73 2D 62 06 67 6F 6F 67 6C 65 03 63 6F -dns-b.g oogle.co

00000050 6D 00 m.

UDP 192.168.1.2 8.8.4.4 63042 53 MarsPC google-public-dns-b.google.com domain

00000000 7E D0 01 00 00 01 00 00 00 00 00 00 03 32 35 32 ~……. …..252

00000010 01 30 01 30 03 32 32 34 07 69 6E 2D 61 64 64 72 .0.0.224 .in-addr

00000020 04 61 72 70 61 00 00 0C 00 01 .arpa… ..

00000000 7E D0 81 83 00 01 00 00 00 01 00 00 03 32 35 32 ~……. …..252

00000010 01 30 01 30 03 32 32 34 07 69 6E 2D 61 64 64 72 .0.0.224 .in-addr

00000020 04 61 72 70 61 00 00 0C 00 01 C0 14 00 06 00 01 .arpa… ……..

00000030 00 00 04 EA 00 2D 03 73 6E 73 03 64 6E 73 05 69 …..-.s ns.dns.i

00000040 63 61 6E 6E 03 6F 72 67 00 03 6E 6F 63 C0 3A 77 cann.org ..noc.:w

00000050 DE 86 FF 00 00 1C 20 00 00 0E 10 00 09 3A 80 00 …… . …..:..

00000060 00 0E 10 …

UDP 192.168.1.2 8.8.4.4 55422 53 MarsPC google-public-dns-b.google.com domain

00000000 BE F1 01 00 00 01 00 00 00 00 00 00 03 32 35 30 …….. …..250

00000010 03 32 35 35 03 32 35 35 03 32 33 39 07 69 6E 2D .255.255 .239.in-

00000020 61 64 64 72 04 61 72 70 61 00 00 0C 00 01 addr.arp a…..

00000000 BE F1 81 83 00 01 00 00 00 01 00 00 03 32 35 30 …….. …..250

00000010 03 32 35 35 03 32 35 35 03 32 33 39 07 69 6E 2D .255.255 .239.in-

00000020 61 64 64 72 04 61 72 70 61 00 00 0C 00 01 C0 18 addr.arp a…….

00000030 00 06 00 01 00 00 06 C3 00 2D 03 73 6E 73 03 64 …….. .-.sns.d

00000040 6E 73 05 69 63 61 6E 6E 03 6F 72 67 00 03 6E 6F ns.icann .org..no

00000050 63 C0 3E 77 DE 65 E7 00 00 1C 20 00 00 0E 10 00 c.>w.e.. .. …..

00000060 09 3A 80 00 00 0E 10 .:…..

很简单的数据包,很容易就看出来,Windows 7 跑去访问了这个地址:https://www.msftncsi.com/ncsi.txt,并获得返回数据:Microsoft NCSI

首先是一个DNS解析请求,查询域名:www.msftncsi.com,然后访问此主机的 /ncsi.txt 文件,并获取返回数据。

那么,这个 NCSI 到底是做什么的呢?

NCSI 是网络连接状态指示器和产生的 Internet 通信。网络感知会收集网络连接信息,如计算机的域名系统 (DNS) 后缀、林名称和计算机连接到的网络的网关地址。当被网络感知调用时,NCSI 可以为既定网络添加有关以下功能的信息:

到 Internet 的连接

https://www.msftncsi.com/ncsi.txt 的请求

称为 ncsi.txt 的页面,其中包含以下文本行,这些文本行没有终止新行或其他非打印字符:

Microsoft NCSI

(页面标题禁用缓存。)

到 Internet 的连接(可能包括发送 DNS 查询和获得正确解析 DNS 名称的功能)

dns.msftncsi.com 的 DNS 名称解析的请求

DNS 名称解析为:

131.107.255.255

(这里其实也捕获到了此DNS请求,没有贴图)

现在就真相大白了,完全是 Windows 7 网络感知功能,Windows 网络连接状态指示器在进行活动测试。

而且这个功能不但开机会运行,还会间隔一会儿就运行一次,如果无法访问,你电脑桌面右下角会显示黄色叹号,网络连接有黄色的叹号,本地连接状态里显示:IPV4无Internet访问权限。

clip_image001

clip_image002

如果你感觉比较恶心,想关闭这个功能,可以进行如下操作:

现在只要关闭此网络感知功能即可,首先从Windows 7系统的开始菜单中依次点选“所有程序”/“附件”/“运行”命令,弹出对应系统的运行文本框,在其中执行“gpedit.msc”字符串命令,打开Windows 7系统的组策略控制台窗口。

依次展开“计算机配置”、“管理模板”、“系统”和“Internet 通信管理”,然后单击“Internet 通信设置”。在详细信息窗格中,双击“关闭 Windows 网络连接状态指示器活动测试”,然后单击“已启用”。

clip_image004

此策略设置会关闭由 Windows 网络连接状态指示器(NCSI)执行的活动测试,而该测试可以确定计算机是连接到 Internet 还是连接到受较多限制的网络。

NCSI 作为确定连接级别的一部分,会执行以下两种活动测试之一: 从专用 Web 服务器下载页面,或对专用地址执行 DNS 请求。

如果启用此策略设置,则 NCSI 将不运行这两种活动测试的任何一种。

这可能会降低 NCSI 以及使用 NCSI 的其他组件确定 Internet 访问的能力。 如果禁用或未配置此策略设置,NCSI 将运行这两种活动测试之一。

现在断开网络,然后再次连接,是否还有黄色的小图标呢。还有?ok,重启一下电脑吧。

clip_image005

干净的网络连接指示。

《钱:7步创造终身收入》干货

无论是财务安全,财务独立,还是财务自由。如何开发一种基本的生活技能,即投资理财能力,以赚到更多的钱,提高你的生活质量?

这本书的与众不同之处,可以概括为以下两点

其一,作者并不是仅仅告诉我们那些超级富豪用的是哪些投资策略,这些策略我们根本负担不起或者根本没有机会使用。作者还找到了解决办法,让那些投资策略普通工薪阶层也能负担得起,也有机会享受得到。凭什么只有那些特权阶层的人才能搭上非同寻常的投资机会呢?现在是不是到了我们可以和超级富豪在投资理财的赛场上公平竞争的时候了呢?

其二,你在这本书中可以找到任何人都可以做到的,没有任何门槛的,通向财务自由的捷径——简单7步投资法,它可以帮助你走向财务安全、财务独立,最终实现财务自由。

重点知识

1、赚钱这场游戏是有规律可循的!通向财富自由是有捷径可走的!

让每一个人都能掌握自己的财务,能够拥有一份终身投资收益,再也不用为赚钱去工作,实现真正的财务自由!可以放心的是,任何一个人都能实现真正的财务自由。即使在起步时你深陷债务泥潭,毫不夸张地说,只要多花一点儿时间,持续保持专注,运用正确的投资策略,不论是谁都能在几年之内获得财务上的安全,甚至是财务自由。

2、简单7 步投资法的具体操作方法如下:

第 1 步:要成为一个投资者,你要下定决心。要承诺将一个具体比例的收入储蓄起来。

第 2 步:要成为投资内行,必须先了解投资游戏规则。

第 3 步:你需要搞清楚要实现你的财务梦想,实际需要的财富数字究竟是多少,你真正需要积累多少财富才能获得财务安全、财务活力、财务自由。

第 4 步:要做出你一生最重要的投资决策!首先,要做好资产配置,其次,你需要列出一个短期目标和长期目标清单。最后,你需要时刻考虑投资的再平衡和基金定期定额投资。

第 5 步:要创造一个终身收入计划,才能保证只赚不赔。

第 6 步:像万里挑一的大师那样投资,向那些成绩好、经验多的高手学习最好的成功策略。

第 7 步:要放开手脚,只管去做,尽情享受生活的无尽可能。

重要观点

1.  从核心本质来看,钱就是力量。

2.  把梦想变成现实有很多种方法,钱肯定是其中的一种。

3.  要么你用钱,要么钱用你。你要么是钱的主人,要么,至少从某种程度上说,你就是钱的奴隶!掌控了钱的事,会让你对外充满权力感,向内充满力量感,决策充满确定感。这些美好的掌控感会传递到你生活的其他方面——掌控你的职业,掌控你的健康,掌控你的情绪,掌控你的人际关系。无法掌控自己的钱,对自己的投资理财能力缺乏信心,这会在不知不觉中影响你在其他方面的自信。当可以完全掌控自己的财务状况时,你就会赋予自己力量,激励自己勇于接受其他方面的挑战!

4.  知道不是力量,执行才是力量。

5.  生活就是成长和给予。

作者:雅丹6587
链接:https://www.jianshu.com/p/8f6845c43a61
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Windows 日志高级筛选实践

Windows 日志高级筛选实践

yoke88 关注 0人评论 3249人阅读 2018-11-22 11:08:06

背景

经常需要查看日志,不仅是用来排错,有些时候我还需要监控系统来抓取特定日志来帮助减少我的工作负担,以及时监控到异常出现,并作出通知及响应,那么从大量日志中快速并精确筛选出想要的日志,并且精确提取信息,是一个必备的技能。我曾经用内置的事件查看器的筛选器进行事件筛选,然后保存视图,或者使用powershell get-winevent 进行筛选,也使用logparser, 或者第三方的日志查看工具比如eventexplorer 进行日志筛选。但是总是遇到几个主要的问题:

  1. 从大量日志中过滤出极个别日志,每次执行的事件总是太长。

  2. 不能灵活的或者更精确的进行筛选。一般只能大概的匹配,然后再做一步处理。通常又遇到1的问题。

尝试和比较

经过一些尝试和使用,个人觉得powershell 的get-winevent 最方便,因为毕竟是一个脚本语言,可以进一步进行处理,而且可以很灵活的处理。logparser 很快,但是如果精确提取某些日志的字段,就没有那么容易了,windows 日志的EventData中的数据复杂多样,靠几个常规字段是没有办法灵活进行处理的。

论速度的话,除了logparser,使用xml 筛选是最快速的。但是xml 筛选需要使用复杂的、受限的xpath 1.0 (被微软实现后,有更多限制),虽然有点蹩脚又难懂,但是和时间节省算起,还是划的来的,特别是重复任务。

一个比较好的开始是从下面链接开始。

https://blogs.technet.microsoft.com/askds/2011/09/26/advanced-xml-filtering-in-the-windows-event-viewer/

正式实践

一个比较常用场景是,我经常需要精确过滤到哪个账号最近锁定了,哪台计算机锁定的,什么时候。我需要很快速的能查询到锁定日志。过去虽然我用get-winevent  –filterhashtable 可以做到这些,但是速度实在太慢了,虽然我的域控只有4台。我经常和用户说,如果你想知道你在哪台计算机上锁定了,请等待一段时间,我会把查询结果用邮件发给你。不过现在使用xpath 过滤时,我基本上可以在用户打电话过来时,告诉他这些信息。

下面XML 过滤AD安全日志中的最近一天的某个用户名的锁定日志

<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[EventID=4740 and TimeCreated[timediff(@SystemTime) &lt;= 86400000] and Provider[@Name='Microsoft-Windows-Security-Auditing']]]
and
*[EventData[Data[@Name='TargetUserName']='somebody']]
</Select>
</Query>
</QueryList>

如果你只想过滤最近一天所有用户的锁定日志,那么这样写

<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">
*[System[EventID=4740 and TimeCreated[timediff(@SystemTime) &lt;= 86400000] and Provider[@Name='Microsoft-Windows-Security-Auditing']]]
</Select>
</Query>
</QueryList>

上面过滤XML可以在 事件查看器的 筛选当前日志–》XML—》手动编辑查询中进行测验。

image

OK ,为了方便使用,我们做成一个powershell function ,方便日常使用,直接上例子。

function get-lockedEvent{     <#     .SYNOPSIS         Function to filter user locked event which id=4740     .DESCRIPTION         This function search user locked events in DC security logs, this function need the domain admin priv.     .EXAMPLE         get-lockedEvent -loginname oaoperator -show     .EXAMPLE         PS C:\> get-lockedEvent -loginname oaoperator -summary         Count Name         ----- ----         457 Oaoperator, OA     .EXAMPLE         PS C:\> get-lockedEvent -loginname oaoperator         Username   LockedPC Datetime           EventLocation         --------   -------- --------           -------------         Oaoperator OA       2018/9/27 10:27:40 dc02         Oaoperator OA       2018/9/27 10:32:40 dc02     #>          [cmdletbinding()]     param(         [parameter(Mandatory=$false)]         [string]         $loginname,         [Parameter(Mandatory=$false)]         [switch]         $summary,         [Parameter(Mandatory=$false)]         [switch]         $show     )
# filter Locked Events generated in 1 day and username eq loginname     $f2=@'     <QueryList>     <Query Id="0" Path="Security">       <Select Path="Security">       *[System[EventID=4740  and TimeCreated[timediff(@SystemTime) &lt;= 86400000] and Provider[@Name='Microsoft-Windows-Security-Auditing']]]        and        *[EventData[Data[@Name='TargetUserName']='{0}']]       </Select>     </Query>     </QueryList>
'@
# filter Locked Events generated in 1 day      $f1=@'     <QueryList>     <Query Id="0" Path="Security">       <Select Path="Security">       *[System[EventID=4740  and TimeCreated[timediff(@SystemTime) &lt;= 86400000] and Provider[@Name='Microsoft-Windows-Security-Auditing']]]       </Select>     </Query>     </QueryList>
'@     if($loginname){         $f=$f2 -f $loginname     }else{         $f=$f1     }     $DCs=Get-ADDomainController -Filter *|%{$_.hostname}     $r=Invoke-Command -ComputerName $DCs -ArgumentList @($f) -Command{         param(             $filter         )         $events=Get-WinEvent -FilterXml  $filter         $events|%{             $e=[xml]$_.toxml()             [PSCustomObject]@{                 'Username'=$e.Event.EventData.Data.where({$_.Name -eq 'TargetUserName'})."#text"                 'LockedPC'=$e.Event.EventData.Data.where({$_.Name -eq 'TargetDomainName'})."#text"                 'Datetime'=[datetime]$e.Event.System.TimeCreated.SystemTime                 'EventLocation'=$e.Event.System.Computer             }         }     }|Sort-Object -Property Datetime |select -Property 'UserName','LockedPC','Datetime','EventLocation'     if($summary){         $r=$r|Group-Object -Property Username,LockedPC -NoElement     }          if($show){         $r|Out-GridView     }else{         $r     }
}

另外一个实践

由于最近有一些计划任务的状态需要监控,而且考虑到这应该是一个非常通用的需求,所以我想过滤计划任务名称匹配\qq_ent 开头的,然后任务执行结果不为0的日志,尽管我参考着下面的一些blog 链接,也让我尝试了好一会,我想应该记录下这些过程。

我们先来看看计划任务日志的xml 内容:

<Event xmlns="https://schemas.microsoft.com/win/2004/08/events/event">
<System>
  <Provider Name="Microsoft-Windows-TaskScheduler" Guid="{DE7B24EA-73C8-4A09-985D-5BDADCFA9017}" /> 
  <EventID>201</EventID> 
  <Version>2</Version> 
  <Level>4</Level> 
  <Task>201</Task> 
  <Opcode>2</Opcode> 
  <Keywords>0x8000000000000000</Keywords> 
  <TimeCreated SystemTime="2018-11-18T05:00:02.058811400Z" /> 
  <EventRecordID>144817</EventRecordID> 
  <Correlation ActivityID="{110529FD-DBFD-4E59-B207-83DF8CC779B8}" /> 
  <Execution ProcessID="1508" ThreadID="24392" /> 
  <Channel>Microsoft-Windows-TaskScheduler/Operational</Channel> 
  <Computer>ComputerName.xxx.com</Computer> 
  <Security UserID="S-1-5-18" /> 
  </System>
<EventData Name="ActionSuccess">
  <Data Name="TaskName">\qq_ent\store_to_db</Data> 
  <Data Name="TaskInstanceId">{110529FD-DBFD-4E59-B207-83DF8CC779B8}</Data> 
  <Data Name="ActionName">C:\Users\UserName\AppData\Local\Programs\Python\Python37\python3.exe</Data> 
  <Data Name="ResultCode">2147942401</Data> 
  <Data Name="EnginePID">22172</Data> 
  </EventData>
  </Event>

说下我们的任务:

  1. 匹配 EventData 中Data 名称为TaskName的,它的值应该是\qq_ent\xxxx

  2. 匹配 EventData中 Data 名称为ResultCode的,它的值应该是>0 或者不等于0的

  3. EventID=201

  4. Provider Name=Microsoft-Windows-TaskScheduler

最后成型的过滤,和微软的之前的例子不一样。

 <QueryList>
    <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
      <Select Path="Microsoft-Windows-TaskScheduler/Operational">
      *[System/EventID=201]
       and 
      *[EventData[
                    (
                        Data[@Name='TaskName']='\qq_ent\download_images' 
                    or 
                        Data[@Name='TaskName']='\qq_ent\store_to_db_offline'
                    or 
                        Data[@Name='TaskName']=='\qq_ent\gatherQQmsg' 
                    or 
                        Data[@Name='TaskName']=='\qq_ent\store_to_db'
                    )
                    and
                        Data[@Name='ResultCode'] !=0
        ]]
      </Select>
    </Query>
    </QueryList>

我之前按照微软的例子是这样写的,结果不对的。

    <QueryList>
    <Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
      <Select Path="Microsoft-Windows-TaskScheduler/Operational">
      *[System/EventID=201]
       and 
      *[
            EventData[
                    (
                        Data[@Name='TaskName'] 
                        and 
                        (
                            Data='\qq_ent\download_images' 
                            or 
                            Data='\qq_ent\store_to_db_offline'
                            or 
                            Data='\qq_ent\gatherQQmsg' 
                            or 
                            Data='\qq_ent\store_to_db'
                        )
                    ) 
                    and
                    (
                        Data[@Name='ResultCode'] and Data !='0'
                    )
            ]
        ]
      </Select>
    </Query>
    </QueryList>

注意事项

  1. event log 中的Xpath 受限,能使用的函数有限,因此如果你想筛选字符串,你会发现starts-with contains 这些xpath 函数都不支持。尽量使用其他条件筛选,然后再使用powershell内置过滤功能进行过滤,当然这要牺牲一些处理时间。

  2. Xpath中的一些字符串要进行转义,比如你想比较一个数字,可能写Data>0,那么> 要转义成&gt;

参考资料

https://blogs.technet.microsoft.com/heyscriptingguy/2011/01/24/use-powershell-cmdlet-to-filter-event-log-for-easy-parsing/

https://blogs.technet.microsoft.com/heyscriptingguy/2014/06/04/data-mine-the-windows-event-log-by-using-powershell-and-xml/

https://blogs.technet.microsoft.com/heyscriptingguy/2014/06/03/use-filterhashtable-to-filter-event-log-with-powershell/

https://blogs.technet.microsoft.com/askds/2011/09/26/advanced-xml-filtering-in-the-windows-event-viewer/

©著作权归作者所有:来自51CTO博客作者yoke88的原创作品,如需转载,请注明出处,否则将追究法律责任

服务器 Windows Server

1

分享

收藏

上一篇:网络命令初步排错 下一篇:使用 Advanced Inst…

yoke88

54篇文章,31W+人气,17粉丝

关注

Ctrl+Enter 发布

发布

取消

推荐专栏更多

VMware vSAN中小企业应用案例

掌握VMware超融合技术
共41章 | 王春海
¥51.00 436人订阅

订   阅

带你玩转高可用

前百度高级工程师的架构高可用实战
共15章 | 曹林华
¥51.00 508人订阅

订   阅

负载均衡高手炼成记

高并发架构之路
共15章 | sery
¥51.00 577人订阅

订   阅

基于Kubernetes企业级容

86岁国宝级中医两次患癌,两次抗癌成功,一直在用此法

齐鲁壹点

发布时间:04-0811:41齐鲁晚报齐鲁壹点官方帐号

他是一代医宗,从医60余年,把中医领进太空:研制防治太空病中药“太空养心丸”,早在神五发射时,就采用中医方法为杨利伟调养身体。他义捐九世祖传秘方制成王氏保赤丸,造福了千家万户(以上内容据《中国中医药报》2009年6月22日第三版及《南通网》报道)……他是名扬天下的国医大师、王氏中医世家第19代传人王绵之。

王绵之教授

但大多数人都不知道,王老自己曾患过结肠癌、肺癌,但都被一一化解,康复得很好(据《老同志之友》2012年16期)。可能您会好奇,觉得王老一定有什么抗癌秘方吧?要说秘方,那还真有,而且非常简单!

盘腿一坐,养心抗癌

常年的养生实践和两次抗癌经历中,王老最喜欢一件事:打坐。他认为,打坐可以让人心无杂念,让大脑得以充分休息,是极好的养心方法;养好了心,在面对疾病甚至癌症时,就能心态平和地战胜疾病,“快乐是最好的抗癌药”。

王氏打坐法具体方法

1、坐姿不强求。坐于高椅、板凳自便,双腿交叉。最好于毯状物上盘腿而坐,五指张开,放于膝或大腿上。

2、全身处于微微绷紧中的放松状态,挺胸、展肩、收腰、收颌,头顶像放了一碗水或一本书的感觉。

3、双眼睁开,看所有的一切都逐渐进入广阔状态,刚开始不习惯,可先闭一会儿眼睛,再看自己的鼻尖,慢慢凝神后再抬眼。

4、深呼吸,即腹式呼吸,这是王老的养生窍门。此法简单易行:向外呼气时瘪肚子,向内吸气时鼓肚子,按照正常的呼吸频率即可。一边呼吸,一边进入大脑空白的状态,可以想象大海、森林等清新宜人的画面,帮助放松身心。他说这样可以将身体里的废气呼出去,然后再将新鲜的空气吸入体内,起到吐故纳新的作用。

5、刚开始打坐10-20分钟即可,当双腿和脚掌麻胀感增强,可将双腿收起后交叉,双手相交,抱膝而坐,深呼吸至双腿麻胀感消失后再起立。

6、如果盘腿的时候,发现自己根本静不下心来,而且腿也疼。那么,此时,您就可以定下心来,先找到腿疼的地方,如果是胆经,可以先顺着胆经揉一揉,等它不怎么疼了再盘。

没打坐的时候,可能不知道自己哪里不舒服,但是一打坐,就知道了自己哪里酸、哪里痛,应该从哪里开始疏通。揉着揉着,就会感觉到由痛变酸,由酸转正常的滋味了。您只要每天这样修复一点点,您的身体就会越来越强壮。

7、一定要每天坚持,打坐时觉得疼就干脆放弃了,或者今天练一下,明天就不练了,打坐也就失去了它的灵性。

抗癌国医的抗癌菜

除了打坐,王老还推荐了两种食物:打霜的茄子和苦瓜,夏天吃正好。

1

霜打茄子常入药

中药许多方剂中,就经常使用“霜打茄子”作为一味药。

茄子的全身:茄花、茄根、茄汁都是良药,古代就有秋茄根治疗肿瘤的记载。

现代医学也证明,茄子中所含有龙葵碱、葫芦素是具有抗癌能力的。茄子可以放心吃,抗癌,延寿。

提醒

在茄子的所有吃法中,拌茄泥是最健康的。

首先,拌茄泥加热时间最短,只需大火蒸熟即可,因此营养损失最少。其次,拌茄泥用油最少,蒸好茄子捣成泥后,只需稍微淋一些调味汁即可。最后,拌茄泥的吃法营养吸收最完全,因为它不用削去茄子皮,而茄子皮中含有大量的生物活性物质。

2

苦瓜:李时珍口中的“一等瓜”

由于味道苦涩,很多人不喜欢吃苦瓜,这是错误的!明代神医李时珍将它成为“一等瓜”。

西医证明:苦瓜中含有一种类奎宁蛋白的东西,能将癌细胞或其他不正常的细胞杀掉。

此外,苦瓜的种子中含有一种蛋白酶抑制剂,是可以抑制肿瘤细胞分泌蛋白酶,从而遏制癌细胞的扩散。

H3C S5720交换机系统文件丢失一直重启的解决办法

转载 weixin_33814685 最后发布于2017-08-23 14:09:55 阅读数 715 收藏

展开

一、故障描述:

    公司买了两台交换机H3C S5120,由于小兄弟没经验,把flash:给格式化了,交换机不停的在重启,无法进入系统。

二、解决思路:

    1.下载tftp软件。

    2.从另外一台交换机的flash中下载一份系统文件。

    3.装系统文件上传致故障交换机的flash中,重启交换机,故障解决。


三.详细配置过程如下:

1.下载tftp软件。

链接:https://pan.baidu.com/s/1qYqfsle 密码:751q

(1)把电脑本地网卡配置:

                  IP地址:10.10.10.2

                 子网掩码: 255.255.255.0   


(2)打开tftp软件:


    下载的软件目录data中已存有交换机的系统文件(s5720li-v200r010c00spc600.c)

    如果在遇到相同型号的设备,可省略第2步。直接上传到故障交换机即可。

2.从另外一台交换机的flash中下载一份系统文件(s5720li-v200r010c00spc600.cc)。

(1)查看另一台交换机flash:

<HUAWEI>dir

Directory of flash:/

  Idx  Attr     Size(Byte)  Date        Time       FileName

    0  drw-              –  Aug 23 2016 03:00:52   dhcp

    1  drw-              –  Aug 23 2016 03:00:24   user

    2  drw-              –  Aug 23 2016 03:01:03   logfile

    3  drw-              –  Aug 23 2016 03:00:12   $_install_mod

    4  -rw-            836  Aug 23 2016 03:04:07   rr.bak

    5  -rw-            836  Aug 23 2016 03:04:07   rr.dat

    6  -rw-             28  Aug 23 2016 03:03:55   private-data.txt

    7  drw-              –  Aug 23 2016 03:00:52   localuser

    8  -rw-     64,011,164  Dec 15 2016 17:51:28   s5720li-v200r010c00spc600.cc

(2)配置交换机VLAN1 IP为10.10.10.1:

    #interface Vlanif1

    #ip address 10.10.10.1 255.255.255.0

(3)从交换机下载系统文件:

<HUAWEI>tftp 10.10.10.2 put s5720li-v200r010c00spc600.cc

Info: Transfer file in binary mode.

Uploading the file to the remote TFTP server. Please wait…

100%    

TFTP: Uploading the file successfully.

64011164 byte(s) sent in 1435 second(s).

<HUAWEI>

3.将系统文件上传致故障交换机的flash中,重启交换机,故障解决。


(1)机器重启生出现下面界面按Ctrl + B

INIT: version 2.88 booting

Starting udev

Starting Bootlog daemon: bootlogd.

Populating dev cache

INIT: Entering runlevel: 3ge = 5

Stopping Bootlog daemon: bootlogd.

Wind River Linux 6.0.0.30 localhost console

localhost login: root (automatic login)

login[1922]: root login on ‘console’

Jan 23 2017, 19:21:20

mknod: /dev/mvPP: File exists

BootLoad version : 020a.0001

Backup U-Boot ……………………………………………………. done

Press Ctrl+B or Ctrl+E to enter BootLoad menu:  2

(2)进入下面启动菜单:


1)选择4

Enter your choice(1-8):

BootLoad Menu

     1. Boot with default mode

     2. Enter serial submenu

     3. Enter startup submenu

4. Enter ethernet submenu

     5. Enter filesystem submenu

     6. Enter password submenu

     7. Clear password for console user

     8. Reboot

    (Press Ctrl+E to enter diag menu)

Enter your choice(1-8): 4


2)选择4

        ETHERNET  SUBMENU

     1. Update BootROM system

     2. Download file to Flash through ethernet interface

     3. Upload Configuration file to Ftp through ethernet interface

4. Modify ethernet interface boot parameter

     5. Return to main menu

Enter your choice(1-5): 4

3)选择1,配置下载文件,指定交换机的IP,及tftp服务器也就是电脑的IP

        BOOTLINE  SUBMENU

1. Set TFTP protocol parameters

     2. Set FTP protocol parameters

     3. Return to ethernet menu

Enter your choice(1-3): 1

‘.’ = clear field;  ‘-‘ = go to previous field;  ‘Ctrl+D’ = quit

Load File name      : s5720li-v200r010c00spc600.cc

Switch IP address   : 10.10.10.1

Server IP address   : 10.10.10.2

Starting to write BOOTLINE into flash … done


4)选择3 返回

        BOOTLINE  SUBMENU

     1. Set TFTP protocol parameters

     2. Set FTP protocol parameters

3. Return to ethernet menu

Enter your choice(1-3): 3

5)选择2 下载文件到flash中

        ETHERNET  SUBMENU

     1. Update BootROM system

2. Download file to Flash through ethernet interface

     3. Upload Configuration file to Ftp through ethernet interface

     4. Modify ethernet interface boot parameter

     5. Return to main menu

Enter your choice(1-5): 2

Use tftp to download file : s5720li-v200r010c00spc600.cc , please wait for a moment.

……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….

Download file successfully.


6)选择5 返回

        ETHERNET  SUBMENU

     1. Update BootROM system

     2. Download file to Flash through ethernet interface

     3. Upload Configuration file to Ftp through ethernet interface

     4. Modify ethernet interface boot parameter

5. Return to main menu

    Enter your choice(1-5): 5


6)选择1 设置默认启动模式

        BootLoad Menu

1. Boot with default mode

     2. Enter serial submenu

     3. Enter startup submenu

     4. Enter ethernet submenu

     5. Enter filesystem submenu

     6. Enter password submenu

     7. Clear password for console user

     8. Reboot

    (Press Ctrl+E to enter diag menu)

Enter your choice(1-8): 1

Now, the current startup file is flash:/s5720li-v200r010c00spc600.cc

Info: Check signature, please wait…………

System total memory is 0x15200000

Start to initialize the LSW …

Initializing the LSW ……………………………………………… done

Initializing netlink ……………………………………………… done

Initializing fast netlink …………………………………………. done

Backup BootLoad ………………………………………………….. done

Backup Kernel ……………………………………………………. done

Backup RamDisk …………………………………………………… done

Stack status : enable

ECM Stack status : run

Initializing FSP task begin …

Initializing DEV module …………………………………………… done

Initializing hardware system ………………………………………. done

Begin to start the system …

Registering IPC and VP callback to platform …………………………. done

Initializing VFS ………………………………. Done

Checking startup system-software …………………………………… done

Reading PAF file …………………………………………………. done

Initializing VOS monitor ……………………….. Done

CFM initialization advance ……………………… done

Initializing PAT ………………………………. Done

Initializing HA ……………………………….. done

VFS registering to HA ………………………….. Done

VRP root begin …

VRP root end

CFG initialization begin ……………………….. done

CFM initialization begin ……………………….. done

CLI initialization begin ……………………….. done

Registering VRP all link command begin …………… Done

Creating task begin …

Creating task end

Task initialization begin …

Task initialization end

ECMM status : run

Cmd registering begin …

Cmd registering end

Task awake begin …

Task awake end

Recover configuration begin …

Recover configuration end

Press ENTER to get started.

Login authentication

Username:admin

Password:

7)启动到输入用户名和密码的界面,证明交换机系统恢复完成。输入默认用户名和密码登录交换机:

用户名:admin

密码:admin@huawei.com

转载于:https://blog.51cto.com/fengyunshan911/1958631

让你的 Firefox 飞起来(Firefox超速绝密方法)

让你的 Firefox 飞起来(Firefox超速绝密方法)

分类: 系统运维

2010-04-23 12:03:29

首先,在URL栏输入“about:config”, 将打开一个参数的命令行清单,这就是我们以下进行编辑的第一步。
Firefox 加速技巧:修改参数- -让灵动的Firefox跑得更快 1.network.http.pipelining
在 Filter 中输入 network.http.pipelining,双击赋值为 true,默认为 false。如果没有找到这个键值,可以右键新建一个 Boolean,把她赋值为 true 就 OK 了。
还是像我在从前解释过的那样,激活这个键值之后,Pipelining同时发出成倍数的连接请求,从而达到提升连接速度的效果。网络上的大多数网站都是基于 HTTP 协议,而 HTTP1.1可以支持多线程的连接请求,通过这个操作可以减少Firefox载入网页的时间。不过并不是所有网页所在的服务器都支持这种操作,所以当你修改键值之后却看不到一点实际效果的时候,请不要对我破口大骂。
2.network.http.pipelining.maxrequests
在 Filter 中输入 network.http.pipelining.maxrequests,双击并赋值为 8,默认键值为 4。
3.network.http.proxy.pipelining
在 Filter 中输入 network.http.proxy.pipelining,双击并赋值为 true。
这两条优化的道理同上,这里就不再多解释了。
4.network.dns.disableIPv6
在 Filter 中输入 network.dns.disableIPv6,双击并赋值为 true。
IPv6 把 IP 地址由 32 位增加到 128 位,从而能够支持更大的地址空间,当用户在终端向一个IPv6-capableDNS服务器发送连接请求时,也许服务器端会错误的返回给用户一个 IPv4 地址。而 Firefox可以对这一切明察秋毫,不过在Firefox纠错的同时也必然会导致信号的延迟,所以这里我们把她赋值为 true,禁用掉她。
5.content.interrupt.parsing
右键新建 Boolean 值,键名为 content.interrupt.parsing,赋值 true。
默认这个键值并不存在。我们激活这个键值之后,当目标网页载入时,Firefox会根据一定频率打断解析的过程,不断的向用户反馈她所收集到的网页信息,有点像流媒体的意思。这时的 Firefox很聪明,不会一根筋的一直钻牛角。在下面的内容中我还会具体讲一下这个键值的魅力所在。
6.content.max.tokenizing.time
右键新建 Integer 值,键名为 content.max.tokenizing.time,赋值 2250000。
这个键值的作用其实就是指定一个循环事件的处理周期,这里的单位是微秒,要是我没有算错的话。理论上当我们将这个值取的越小,网页就会从视觉上载入的越流畅,因为Firefox会在很短的单位时间里反馈回解析到的网页信息。可是这样无疑延迟了网页整体载入的时间,所以在这里我们不妨将这个周期取的大一些,理论上可以加速网页的载入。
7.content.notify.interval
右键新建 Integer 值,键名为 content.notify.interval,赋值 750000。
载入一个网页其实也是一门很大的学问。让我们来放一个慢动作,我们姑且先把在终端第一次收到的网页信息很不专业的叫做预载入页面吧,这个页面有可能是不完整的图片或者文字,或者别的媒体文件。从我们第一次向远端主机发出连接请求到我们在终端收到这个预载入页面花费的时间,就是这里我们要定义的键值。理论上当我们将这个时间设置的很低时,肯定会更快的拿到所谓的预载入页面,可这是一种杀鸡取卵的做法,这样无形中反而增加了我们整体页面的载入时间。按照官方的说法,低于 100,000 将会降低 Firefox 的性能,那好吧,那我们把她彪到 750000 吧。
8.content.notify.ontimer
右键新建 Boolean 值,键名为 content.notify.ontimer,赋值 true。
为了使我们上面设置的 750000 微秒生效,还需要把这个键值激活。只有这两个键值配合,才会起作用。
9.content.notify.backoffcount
右键新建 Integer 值,键名为 content.notify.backoffcount,赋值 5。
这个键值控制Firefox的内置计数器在归零之前载入页面返回的次数。我们将目标网页分成好多个部分进行下载,每下载完一个部分,计数器归零一次。-1就是没有限制,值为0时这项功能被禁用。这里我们将她设置成5,当返回的次数达到五次而这部分网页还没有完全下载完时,那么剩下的没有下载完的网页内容将不会再按照我们预告设置的周期,像之前的五次那样一点一点的搬运回来,而是会一次性的下载完。也就是说在这个部分的网页下载过程中,Firefox 一共向我们反馈了 6次信息,前5次的时间间隔是我们在上面的键值中设置的周期 2250000微秒,而第6次也就是最后一次则没有时间限制,什么时候把剩下的下完了,什么时候反馈回来。
只有当我们在上面提到的 content.notify.ontimer 键值为 true 的时候,这里的设置才会生效。
10.content.switch.threshold
右键新建 Integer 值,键名为 content.switch.threshold ,赋值 750000,也就是四分之三秒。
在前面我们提到了一个键值content.interrupt.parsing,通过激活她实际上我们可以在载入页面的过程中跟Firefox产生互动,毕竟我们每一个人的心里都充满了爱。把 content.interrupt.parsing激活后当页面载入时Firefox会有两种操作模式:高频和低频中断模式。使用高频模式时,网页回馈的频率也很高,我们坐在显示器前看到的网页载入过程也会更加的平滑。低频时网页回馈的频率相对比较低,可是这时反而加快了网页载入的时间。当我们移动鼠标或者触击键盘时,高频模式被激活。在经过某一段时间我们没有碰鼠标和键盘,程序没有接到鼠标和键盘发出的任何指令时,Firefox就会自动进入低频模式工作,而这所谓的某一段时间,就是我们这里要指定的值。
11.nglayout.initialpaint.delay
右键新建 Integer 值,键名为 nglayout.initialpaint.delay,赋值 0。
这里实际上延迟了整个网页的显示速度,但是因为用户更喜欢在整个网页完全截入之前就开始阅读网页 (就像流媒体那样),所以在这里可以把值调为零,加速用户阅读网页的速度,有时候阅读速度和载入速度并不是成正比的。
在网络状况稳定的情况下这些优化的确是会起到一些效果的,并不光是心理作用,大家在为自己的浏览器提速时,也可以稍微参考一下。
备注:如果不是原版只需要修改前四项即可。

CentOS7.1 VNC Server服务配置

CentOS7.1 VNC Server服务配置
原创 jim_hwg 最后发布于2016-03-08 16:23:48 阅读数 28191 收藏
展开
一、安装VNC相关包

yum -y install tigervnc tigervnc-server tigervnc-server-module

二、复制配置模板文件为vncserver@:1.service

cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service

三、修改/lib/systemd/system/vncserver@:1.service配置文件

[root@kvm01 ~]# cat /lib/systemd/system/vncserver\@\:1.service | grep -v ^# | grep -v ^$
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
ExecStartPre=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
ExecStart=/usr/sbin/runuser -l root -c “/usr/bin/vncserver %i”
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c ‘/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :’
[Install]
WantedBy=multi-user.target

四、设置VNC用户密码

vncpasswd

输入两次密码,完成密码设置
五、重新载入system配置

systemctl daemon-reload

六、启动vncserver@:1.service服务,并设置开机自启

systemctl start vncserver@:1.service && systemctl enable vncserver@:1.service

注:若系统无法正常关机,则再次启动,此服务无法启动,解决办法参照步骤七

七、问题解决

1.报错:Job for vncserver@:1.service failed because the control process exited with error code. See “systemctl status vncserver@:1.service” and “journalctl -xe” for details.

处理方法:

rm -rf /tmp/.X11-unix/*
————————————————
版权声明:本文为CSDN博主「jim_hwg」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hnhuangyiyang/java/article/details/50827670