Day 5273 在Debian 10上安装Dell OpenManage

环境为Debian 10默认安装。

1、为PATH变量增加/usr/sbin(永久修改位置为/etc/login.defs):

export PATH=$PATH:/usr/sbin

2、在root下运行以下指令安装OpenManage软件包(来自此Reddit帖子,感谢作者):

gpg –keyserver hkp://pool.sks-keyservers.net:80 –recv-key 1285491434D8786F
gpg -a –export 1285491434D8786F | apt-key add –
echo “deb http://linux.dell.com/repo/community/openmanage/930/bionic bionic main” > /etc/apt/sources.list.d/linux.dell.com.sources.list
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman-curl-client-transport1_2.6.5-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman-client4_2.6.5-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman1_2.6.5-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/libwsman-server1_2.6.5-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sblim-sfcc/libcimcclient0_2.2.8-0ubuntu2_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/o/openwsman/openwsman_2.6.5-0ubuntu3_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/multiverse/c/cim-schema/cim-schema_2.48.0-0ubuntu1_all.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sblim-sfc-common/libsfcutil0_1.0.1-0ubuntu4_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/multiverse/s/sblim-sfcb/sfcb_1.4.9-0ubuntu5_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/s/sblim-cmpi-devel/libcmpicppimpl0_2.0.3-0ubuntu2_amd64.deb
dpkg -i libwsman-curl-client-transport1_2.6.5-0ubuntu3_amd64.deb
dpkg -i libwsman-client4_2.6.5-0ubuntu3_amd64.deb
dpkg -i libwsman1_2.6.5-0ubuntu3_amd64.deb
dpkg -i libwsman-server1_2.6.5-0ubuntu3_amd64.deb
dpkg -i libcimcclient0_2.2.8-0ubuntu2_amd64.deb
dpkg -i openwsman_2.6.5-0ubuntu3_amd64.deb
dpkg -i cim-schema_2.48.0-0ubuntu1_all.deb
dpkg -i libsfcutil0_1.0.1-0ubuntu4_amd64.deb
dpkg -i sfcb_1.4.9-0ubuntu5_amd64.deb
dpkg -i libcmpicppimpl0_2.0.3-0ubuntu2_amd64.deb

apt update
apt install srvadmin-all
touch /opt/dell/srvadmin/lib64/openmanage/IGNORE_GENERATION
srvadmin-services.sh enable && srvadmin-services.sh start

3、此时已可通过https://IP:1311/看到网页界面,但命令行omreport功能暂时不可用,会提示:

omconfig: error while loading shared libraries: libxslt.so.1: cannot open shared object file: No such file or directory

执行以下指令安装所缺失的libxslt1.1:

apt-get install libxslt1.1

此时执行omreport的查询命令(如omreport system summary),会提示(即使在root下执行也是如此):

Error! User has insufficient privileges to run command.

依据此处内容提示(帖子下方的回复),应为缺失libncurses5,运行如下指令安装之,并重启OpenManage相关服务:

apt install libncurses5

systemctl start dsm_sa_datamgrd
systemctl start dsm_sa_eventmgrd
systemctl start dsm_sa_snmpd
systemctl start dsm_om_connsvc
systemctl start dsm_om_shrsvc

现在终于可以使用omreport在CLI下查看系统概况了。

Day 4849 自行组装RAID10磁盘阵列

以前的时候,由于家里的网速一直不是很快,加上由于环境受限,一直没有外网环境,从来没有做过资源党,也就对硬盘空间没有多高的需求。事实上,从第一台电脑开始,家中的台式机几乎一一直是单(机械)硬盘配置,依次经历了2G、20G、120G、600G、1T和2T的容量台阶,并且在600G以前一直是IDE接口。

然而对存储空间的追求是永无止境的,为了在一段时间内暂时不再受台式机硬盘的限制,又忌惮于群晖的价格,一狠心,实践了一次用阵列卡自行组装磁盘阵列的想法。

这中间也算学到了点东西。

继续阅读 “Day 4849 自行组装RAID10磁盘阵列”

Day 4768 关于Excel中录入15位以上数字时(例如身份证号),COUNTIF函数返回的结果数量不正确的问题

最近帮同事做一个表格,要求在录入数据时,自动查找同一列下是否有相同的值,有则进行提示,而需要这个提示功能的其中一列是『身份证号』。

众所周知,中国大陆地区的身份证号是18位。鉴于Excel采用了IEEE 754的浮点数存储规范,对于正整数最高支持到15位。这也是在Excel中录入身份证号时,如果身份证号中不含X,经常会在按下回车的时候变成一串科学记数法的原因,而实际上此时第16位起的数字已经丢失了。

对于只使用表格本身的场合,可以简单地将对应单元格的数字格式修改为『文本』,虽然这样一来相关数字就不能参与运算,但多半也没有需要对身份证号进行运算的情形。

然而,当涉及到使用COUNTIF函数时,即使对应单元格的数字格式是文本,COUNTIF对于传入的数据也会进行自动的类型判断。试观察如下VBA语句:

‘sShenfenzheng是之前传入的单元格内容(身份证号),变量类型为String
n = Application.WorksheetFunction.CountIf(Range(“B1:B65535”), sShenfenzheng)

此时如果在B列中录入如下数据:

110000199901012333
110000199901012334
110000199901012335

然后对sShenfenzheng传入『110000199901012336』的话,n的值将会是3,而不是预期的0。

解决方法:

在调用CountIf时,将传入的查找目标后面跟上一个『*』,强制CountIf按照字符串形式对数据进行查找,即可获得正确的结果。

以前述代码为例,应修改为:

n = Application.WorksheetFunction.CountIf(Range(“B1:B65535”), sShenfenzheng & “*”)

Day 4763 关于Windows Update更新Windows Defender定义时,返回8050800C错误的解决方法

情况说明:

在Windows 7 x64下,使用Windows Update进行系统更新时,无法安装Windows Defender恶意软件定义的相关更新,始终返回8050800C错误。此时,直接打开Windows Defender对定义进行更新时,也会报错无法更新。

解决方法: 继续阅读 “Day 4763 关于Windows Update更新Windows Defender定义时,返回8050800C错误的解决方法”

Day 4713 关于在VMWare Workstation中安装Windows Thin PC时,网卡和SCSI驱动无法安装的问题

情况说明:

1、在VMWare Workstation 12中选择系统类型为Windows 7、安装Windows Thin PC并安装VMWare Tools后,发现网络无法正常使用。
2、到设备管理器中查看时,可发现有感叹号设备Ethernet Controller和SCSI Controller。

解决方法:

可能有更简单的解决方式,不过可以选择手动下载对应驱动进行安装:网卡驱动SCSI控制器驱动

Day 4548 在Windows Vista及以上版本系统中,提升权限后的凭据看不到普通凭据创建的映射网络驱动器

情况说明:

1、以普通用户权限(普通用户或“管理员”账户均可)创建映射的网络驱动器;

2、在一个提升权限后的凭据(例如:以管理员模式启动的第三方文件管理器)中进行浏览文件夹操作;

3、Voila:找不到这个映射的网络驱动器,即使直接录入映射的驱动器盘符也无法访问。

原因分析:

提升权限后的凭据与登录时使用的账户实际上是两个账户(尽管它们俩共享账号和密码),由于安全权限设计,这两个账户创建的映射网络驱动器是不互通的。(微软官方的详细说明

解决方法:

修改注册表 HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System 建立或修改DWORD(32位)项目EnableLinkedConnections,值为1,然后重启计算机即可。

Day 4514 Apache、PHP NTS、FastCGI与Rewrite之间不得不说的故事(雾

为单位装新网站,出于安全考虑,环境需要由我自行配置,于是按照开发公司的要求去下载了Apache 2.4、PHP 5.6和MySQL,由于服务器系统为64位Windows,所以理所当然地都下载了64位的组件,其中PHP使用了比较顺手的TS(线程安全,Thread-safe)版本。

一切配置好后,发现说明书中组件要求有一个Zend Guard Loader,于是跑去下载,但当看到支持PHP 5.6的Zend Guard Loader的版本只有x86版本时心里就咯噔一下,尝试配置后,果不其然,64位的PHP无法与32位的Zend组件协作,不得已推倒重来,谁知这只是更大坑的开始。 继续阅读 “Day 4514 Apache、PHP NTS、FastCGI与Rewrite之间不得不说的故事(雾”

Day 4407 使用独立安装包安装.Net Framework 4.6.2时,提示『无法建立到信任根颁发机构的证书链』

出现该问题的原因是未能更新本机的受信任证书颁发机构证书列表,导致安装包验证失败,以下几种情况可以造成此问题:

1、安装该运行库的系统未接入互联网;

2、安装该运行库的系统所在的网络环境,屏蔽了对微软受信任根证书更新的URL。

(如果使用的不是独立安装包,而是Web Installer,问题可能为第2条,因为Web Installer未联网无法使用)

解决方法:

1、点击此处(微软官方链接)下载Microsoft Root Certificate Authority 2011证书。

2、开始—运行,输入mmc启动管理控制台。

3、文件—添加管理单元,在『可用的管理单元』中选择『证书』,点击『添加』,在弹出的对话框中选择『计算机账户』,下一步中选择『本地计算机』,一路确定至返回到MMC的主界面。

4、展开控制台根节点—证书(本地计算机)—受信任的根证书颁发机构—证书,点击『操作』菜单—所有任务—导入(如果没有导入,只有『打开』和『导出』,则点击右侧列表末尾的空白处取消选择,然后重新操作一次)

5、在导入向导中,『要导入的文件』选择在第一步中下载的cer证书文件,下一步的『证书存储』选择『将所有的证书放入下列存储』,点击『浏览』并选择『受信任的根证书颁发机构』,并在『下一步』后选择『完成』。

6、重新运行.Net Framework 4.6.2安装程序即可。

Day 4330 关于Secure Settings不能识别已root系统的解决方法

Secure Settings是一款配合其它软件(如Tasker等)实现对Android设备进行超多控制的应用(Play页面)。

最近将手机升级到Android 7.0,经过好大一通折腾,终于将设备root掉,但通过钛备份恢复的Secure Settings总是会报『由于没有root权限,一些特定的操作无法进行』,这里是指我设置的Tasker任务,每天晚上23点之后自动将手机设置为飞行模式。

经过搜索,得知由于Secure Settings检测root的方法是去搜索/system/bin/su是否存在,而应用本身已长年未更新(上次更新为2015年1月),现在以SuperSU进行root的设备采取的是『systemless』的方式,即不会在/system/(x)bin下写入su的binary,导致其误以为系统没有root。

解决方法如下:

1、打开设备的USB调试模式

2、使用adb连接设备执行操作:

adb shell

su

mount -o remount,rw /system

touch /sbin/su /system/bin/su /system/xbin/su

mount -o remount,ro /system

exit

reboot

3、设备重启完成后,Secure Settings的误判问题即可解决,此后如果有SuperSU的授权提示,进行授权即可。

注1:如在mount步骤中报错『Device or resource is busy』等,可将第二个参数修改为『rw,remount』及『ro,remount』。

注2:执行touch时如出现『/sbin/su:Read-only file system』,为正常现象,可以无视之。

参考资料:

  1. https://dammit.nl/20160406-how-to-fix-secure-settings-on-android-devices-with-supersu-systemless-root.html
  2. https://forum.xda-developers.com/pixel-c/help/device-resource-busy-t3449240

Day 4250 Powerpoint 2007+修改页面尺寸而不拉伸元素

在PowerPoint中,对已经做好的幻灯片通过『页面设置』修改页面尺寸(如从全屏4:3修改为全屏16:9),则PowerPoint会自动拉伸页面元素,本意是让原有的元素能自适应新的页面尺寸,但常常适得其反,因为页面尺寸的变化导致本来就需要对元素位置进行重排,现在反而还需要挨个将元素尺寸复位,这对于页数较多的PPT来说简直是灾难性的。

根据本页面的内容,可通过如下方式无损调整PPT文档的页面尺寸(限pptx格式,即PowerPoint 2007以后版本生成的文档):

  1. 备份原始文件。
  2. 将pptx文件用任意支持ZIP格式的压缩软件(如WinRAR、7-zip等)解压缩至单独的文件夹。
  3. 使用文本编辑器(建议为Notepad++等功能比较完善的编辑器,而不是系统自带的记事本,以免出错)打开解压缩后的文件中的 ppt\presentation.xml,查找『p:sldSz』,将其后的cx和cy参数修改为要使用的页面尺寸,常用的全屏尺寸对应数值如下:
    【全屏4:3】cx=”9144000″ cy=”6858000″
    【全屏16:9】cx=”9144000″ cy=”5143500″
    【全屏16:10】cx=”9144000″ cy=”5715000″
  4. 将所有文件重新打包为ZIP格式(注意不要选择其它格式,Powerpoint无法识别)『存储』(存档)压缩率(各压缩软件描述不同,WinRAR为『存储』,7-zip为『仅存储』),然后将后缀重新修改为pptx即可。

按照此方法修改后的pptx文档有一个小问题,即页面的十字中心参考线仍为修改前的位置(通常是水平参考线的位置偏移),猜测可能在XML中有其它参数进行控制,但不影响文档的正常编辑和使用。

以上步骤在 PowerPoint 2010 中测试通过。