Hello

I'm Coll, Welcome to my Blog!

前端 • 设计 • 建站 • 分享
  • Web前端开发

    记录前端开发工作中遇到的一些问题与解决方法,Javascript、CSS3、响应式布局,Mobile web等:-)

  • 网页设计

    分享网页设计中最美好的设计理念与创意,传达最前沿与时尚的网页设计风格!眼里的世界不再单调(*^__^*)

  • CMS建站知识

    希望能分享更多CMS建站经验与技能,让建站更简单与便捷。尽管自己还是一名菜鸟 o(∩_∩)o

  • 资源分享

    进步与成长需要更多交流与沟通,分享具有学习价值的优质资源→

deep

mvn 编译配置

作者: 分类: 默认分类 时间: 2017-12-17 评论: 暂无评论

mvn install:install-file -Dfile=ark-savegame-toolkit-0.8.1.jar -DpomFile=pom.xml

mvn package

IPv4 Subnetting & Prefixes

作者: 分类: 默认分类 时间: 2017-05-12 评论: 暂无评论

IP addresses Bits Prefix Subnet Mask
1 0 /32 255.255.255.255
2 1 /31 255.255.255.254
4 2 /30 255.255.255.252
8 3 /29 255.255.255.248
16 4 /28 255.255.255,240
32 5/ /27 255.255.255.224
64 6 /26 255.255.255.192
128 7 /25 255.255.255.128
256 8 /24 255.255.255.0
512 9 /23 255.255.254.0

VC14(VC2015)安装失败,0x80240017 - 未指定的错误,解决办法

作者: 分类: 默认分类 时间: 2017-04-30 评论: 暂无评论

VC2015、VC14 在 Windows 2012 R2 安装失败,0x80240017 - 未指定的错误,解决办法
据朋友反应VC2013一样存在这个问题……

查资料说是没有安装 KB2999226 补丁,查看错误日志文件,里面有一行C:ProgramDataPackage CacheFC6260C33678BB17FB8B88536C476B4015B7C5E9packagesPatchx64Windows8.1-KB2999226-x64.msu" /quiet /norestart'
可见,该补丁是带了的,而它安装失败,直接去点击这个补丁,弹出错误:此更新不适用你的计算机。

可见,安装此补丁失败的原因是,它又需要前置条件,原文摘录如下:
系统必备组件

若要安装此更新,您必须 2014 年 4 月累积更新 Windows RT 8.1、 Windows 8.1 和 Windows Server 2012 R2 (2919355) 安装在 Windows 8.1 或 Windows Server 2012 R2 上。或者安装 Windows 7 的 Windows Server 2008 R2 的 Service Pack 1.或者安装 Service Pack 2 适用于 Windows Vista 和 Windows server 2008.

那么,需要安装 2919355 号补丁,页面地址https://support.microsoft.com/zh-cn/kb/2919355
下载页面在:https://www.microsoft.com/en-us/download/details.aspx?id=42334
以下复制该问题的解决办法之二:
Microsoft 下载中心

立即下载基于 x64 的 Windows Server 2012 R2 更新软件包。

注意:适用于Windows RT 8.1的更新只能从Windows Update获取。

注意:必须按以下顺序安装更新: clearcompressionflag.exe、 KB2919355、 KB2932046、 KB2959977、 KB2937592、 KB2938439 和 KB2934018。
然后,KB2919355,又需要前置补丁KB2919442,立即下载基于 x64 的 Windows Server 2012 R2 的KB2919442补丁。

解决办法之一:就是开启Windows自动更新,打全补丁,估计微软是为了告诉我们:他们不但修补了漏洞还增加了新功能。

最后:看完了上面的,也真是苦了大家了,毕竟知其然不知其所以然是祖宗们不推荐的。我把所有补丁下好,并写了批处理,因为必须按顺序安装才行,不批处理太坑了。
文中提到的Windows 2012 R2 所需的补丁以及批量安装脚本下载地址:
http://yunpan.cn/OcuCAfJtsKFzHr 访问密码 35ba

如何打开和关闭测试模式(Test Mode)

作者: 分类: 默认分类 时间: 2017-04-29 评论: 暂无评论

故障现象:

Windows系统桌面右下角出现一个测试模式(test mode)的水印,如图:
win7

原因分析:

测试模式”在VISTA系统上就已经有了,包括现在的Windows 10也存在。测试模式可以使系统能安装上未经签名的驱动。通常导致这个水印出现的原因也是因为系统中安装了未经签名的驱动,这些驱动为了使自身能够安装上,会在安装程序中内置打开测试模式的进程。

解决方案:

1、打开“测试模式”:

系统中按WIN键,搜索栏输入“CMD”,右键点击找到的cmd.exe,选择“以管理员身份运行”;

输入:“bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS”回车,

再次输入:“bcdedit -set TESTSIGNING ON”,即可开启测试模式。

2、关闭测试模式,水印消失:

同样以管理员身份打开CMD,输入:“bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS”回车,

再次输入:“bcdedit -set TESTSIGNING OFF”,即可关闭测试模式,去除水印。

使用edac工具来检测服务器内存故障.

作者: 分类: 默认分类 时间: 2017-03-29 评论: 暂无评论

随着虚拟化,Redis,BDB内存数据库等应用的普及,现在越来越多的服务器配置了大容量内存,拿DELL的R620来说在配置双路CPU下,其24个内存插槽,支持的内存高达960GB。对于ECC,REG这些带有纠错功能的内存故障检测是一件很头疼的事情,出现故障,还是可以连续运行几个月甚至几年,但如果运气不好,随时都会挂掉,好在linux中提供了一个edac-utils 内存纠错诊断工具,可以用来检查服务器内存潜在的故障。
下面以CentOS为例,介绍下edac-utils 工具的使用.
在使用edac-utils 工具之前,需要先了解服务器的硬件架构,以DELL R620为例,(其它如HP DL360P G8,IBM X3650 M4 机型都使用了 E5-2600 系列CPU,C600 系列芯片组.大致相同) 其CPU内存控制器对应通道,内存槽关系,如下所示。

处理器0 (对应一个内存控制器)
通道0:内存插槽A1、A5 和A9
通道1:内存插槽A2、A6 和A10
通道2:内存插槽A3、A7 和A11
通道3:内存插槽A4、A8 和A12

处理器1 (对应一个内存控制器)
通道0:内存插槽B1、B5 和B9
通道1:内存插槽B2、B6 和B10
通道2:内存插槽B3、B7 和B11
通道3:内存插槽B4、B8 和B12

1.安装 edac-utils 工具

yum install -y libsysfs edac-utils
2.执行检测命令,可查看纠错提示如下

edac-util -v

mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#0_DIMM#0: A1
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#1_DIMM#0: A2
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#2_DIMM#0: A3
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#3_DIMM#0: A4
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#0_DIMM#1: A5
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#1_DIMM#1: A6
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#2_DIMM#1: A7
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#3_DIMM#1: A8
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#0_DIMM#2: A9
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#1_DIMM#2: A10
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#2_DIMM#2: A11
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#3_DIMM#2: A12

mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#0_DIMM#0: B1
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#1_DIMM#0: B2
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#2_DIMM#0: B3
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#3_DIMM#0: B4
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#0_DIMM#1: B5
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#1_DIMM#1: B6
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#2_DIMM#1: B7
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#3_DIMM#1: B8
mc1: csrow2: CPU_SrcID#1_Ha#0_Chan#0_DIMM#1: B9
mc1: csrow2: CPU_SrcID#1_Ha#0_Chan#1_DIMM#1: B10
mc1: csrow2: CPU_SrcID#1_Ha#0_Chan#2_DIMM#1: B11
mc1: csrow2: CPU_SrcID#1_Ha#0_Chan#3_DIMM#1: B12

其中 mc0 表示 表示内存控制器0, CPU_Src_ID#0表示源CPU0 , Channel#0 表示通道0
DIMM#0 标示内存槽0,Corrected Errors 代表已经纠错的次数,根据前面列出的CPU通
道和内存槽对应关系即可给edac-utils 返回的信息进行编号。
即可得出 A1槽 6312 次纠错,B1槽 6459次纠错,B3槽 535次纠错. 3条内存出现潜在故障,接下来联系供应商进行更换即可。

12条内存的对应关系
mc0: csrow0: CPU#0Channel#0_DIMM#0: A1
mc0: csrow0: CPU#0Channel#1_DIMM#0: A2
mc0: csrow0: CPU#0Channel#2_DIMM#0: A3
mc0: csrow1: CPU#0Channel#0_DIMM#1: A4
mc0: csrow1: CPU#0Channel#1_DIMM#1: A5
mc0: csrow1: CPU#0Channel#2_DIMM#1: A6

mc1: csrow0: CPU#1Channel#0_DIMM#0: B1
mc1: csrow0: CPU#1Channel#1_DIMM#0: B2
mc1: csrow0: CPU#1Channel#2_DIMM#0: B3
mc1: csrow1: CPU#1Channel#0_DIMM#1: B4
mc1: csrow1: CPU#1Channel#1_DIMM#1: B5
mc1: csrow1: CPU#1Channel#2_DIMM#1: B6

20条内存的对应关系
mc0: 0 Uncorrected Errors with no DIMM info
mc0: 0 Corrected Errors with no DIMM info
mc0: csrow0: 0 Uncorrected Errors
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#0_DIMM#0: 0 Corrected Errors A1
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#1_DIMM#0: 0 Corrected Errors B1
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#2_DIMM#0: 0 Corrected Errors C1
mc0: csrow0: CPU_SrcID#0_Ha#0_Chan#3_DIMM#0: 0 Corrected Errors D1
mc0: csrow1: 0 Uncorrected Errors
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#0_DIMM#1: 0 Corrected Errors A2
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#1_DIMM#1: 0 Corrected Errors B2
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#2_DIMM#1: 0 Corrected Errors C2
mc0: csrow1: CPU_SrcID#0_Ha#0_Chan#3_DIMM#1: 0 Corrected Errors D2
mc0: csrow2: 0 Uncorrected Errors
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#0_DIMM#2: 0 Corrected Errors A3
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#1_DIMM#2: 11 Corrected Errors B3
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#2_DIMM#2: 0 Corrected Errors C3
mc0: csrow2: CPU_SrcID#0_Ha#0_Chan#3_DIMM#2: 0 Corrected Errors D3
mc1: 0 Uncorrected Errors with no DIMM info
mc1: 0 Corrected Errors with no DIMM info
mc1: csrow0: 0 Uncorrected Errors
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#0_DIMM#0: 0 Corrected Errors
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#1_DIMM#0: 0 Corrected Errors
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#2_DIMM#0: 0 Corrected Errors
mc1: csrow0: CPU_SrcID#1_Ha#0_Chan#3_DIMM#0: 0 Corrected Errors
mc1: csrow1: 0 Uncorrected Errors
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#0_DIMM#1: 0 Corrected Errors
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#1_DIMM#1: 0 Corrected Errors
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#2_DIMM#1: 0 Corrected Errors
mc1: csrow1: CPU_SrcID#1_Ha#0_Chan#3_DIMM#1: 0 Corrected Errors

4x16关系
mc0: csrow0: CPU#0Channel#0_DIMM#0: 0 Corrected Errors 8a
mc0: csrow0: CPU#0Channel#1_DIMM#0: 0 Corrected Errors 5b
mc0: csrow0: CPU#0Channel#2_DIMM#0: 0 Corrected Errors 2c
mc0: csrow1: 0 Uncorrected Errors
mc0: csrow1: CPU#0Channel#0_DIMM#1: 1 Corrected Errors 7d
mc0: csrow1: CPU#0Channel#1_DIMM#1: 0 Corrected Errors 4e
mc0: csrow1: CPU#0Channel#2_DIMM#1: 0 Corrected Errors 1f
mc0: csrow2: 0 Uncorrected Errors
mc0: csrow2: CPU#0Channel#0_DIMM#2: 0 Corrected Errors 6G
mc0: csrow2: CPU#0Channel#1_DIMM#2: 0 Corrected Errors 3h

Top ↑