- 税率= 增值税 ➗ 不含税价格
- 增值税= 不含税价格 ✖ 税率
- 含税价格= 不含税价格➕增值税
2020年11月18日星期三
2020年11月15日星期日
《轮回》 - 唐波清
儿时,我做梦都想得到一辆脚踏三轮玩具车。可我每回央求父亲的时候,父亲不是推三阻四就是糊弄应付。母亲说话一向直爽,道出了实情,咱家穷,实在没钱买这玩意儿。
七岁生日的那天,父亲送给我一件礼物,一辆脚踏三轮玩具车。可惜,这辆玩具车是木制的三轮车,就连三个轮子也是木块拼成的,这是父亲雇请木匠老张特意帮我打造的礼物。虽然这辆三轮车有些粗糙,甚至有些丑陋,但对于我来说还是有点惊喜,甚至有点满足。
生日那一整天,我就没歇息过。骑着木制的三轮车,不停地在晒谷场上转着圈,我在前面骑着车,父亲跟在后面跑,生怕我有个闪失。我转十个圈,父亲就转十个圈;我转一百个圈,父亲就转一百个圈。
累了。满身是汗的我,望着满身是汗的父亲,乐呵呵地笑。
光阴荏苒。这一晃,我长大了,父亲年迈了。
去年,父亲有意无意地说,咱想买一辆电动三轮车。咱的年纪越来越大,走路乏力,这要是有辆电动三轮车,不光出行代步要方便一些,偶尔载点货物也还轻松一点。父亲说这话的时候似乎很随意,可内心的那种期盼显而易见。
爹,您都上了这把年纪,要是骑着电动三轮车,碰倒了,摔伤了,那咋办?我劝您还是别买三轮车,那玩意儿危险。这还真不是推三阻四也不是糊弄应付,我就怕父亲有个三长两短。
父亲沉默无语。
可有事没事的时候,父亲总望着隔壁赵大伯的电动三轮车发呆,甚至偷偷地贴到三轮车的跟前,左手摸摸电源开关,右手摸摸手动刹车。看那个架势,父亲恨不得骑上赵大伯的三轮车转几个圈圈才过瘾。
今年,父亲七十岁生日的那天,我送给父亲一件礼物,一辆轻型电动三轮车。父亲激动得连着说三个字,好,好,好。
生日那一整天,父亲就没歇息过。骑着电动三轮车,不停地在晒谷场上转着圈,父亲在前面骑着车,我跟在后面跑,生怕父亲有个闪失。父亲转十个圈,我就转十个圈;父亲转一百个圈,我就转一百个圈。
累了。满身是汗的父亲,望着满身是汗的我,乐呵呵地笑。
《轮回》是一篇充满真情实感的作品,触动读者心弦,一种沧桑感弥漫开来,极易引发人的共鸣。故事情节很简单,却写出了普天下的父子情深。你养我长大,我陪你变老。幼年时期,父母对儿女悉心的关爱与呵护,待父母年老,子女反哺,用同样的深情回馈父母。此情令天下为人父母为人子女者动容。此篇作品刊出后,被国内多家报刊、公众号和网站转载,深受读者好评。
作品借两个学车的场景,来表现父亲与儿子彼此之间的挚爱亲情:幼时父亲陪着儿子骑木制的三轮车,“我转十个圈,父亲就转十个圈;我转一百个圈,父亲就转一百个圈。”父亲年老,“我”又陪父亲骑电动三轮车,“父亲转十个圈,我就转十个圈;父亲转一百个圈,我就转一百个圈。”相似的场景,相似的话语,人物的身份已在不经意间互换。父亲的舐犊之情,儿子的孝心孝道,都在这一句看似平淡的描写中。正可谓繁华落尽见真淳,越是朴素真诚的作品,越焕发出其动人的艺术力量。
2020年11月14日星期六
《葡萄月令》 -汪曾祺
一月,下大雪。
雪静静地下着。果园一片白。听不到一点声音。葡萄睡在铺着白雪的窖里。
二月里刮春风。
立春后,要刮四十八天“摆条风”。风摆动树的枝条,树醒了,忙忙地把汁液送到全身。树枝软了。树绿了。
雪化了,土地是黑的。
黑色的土地里,长出了茵陈蒿。碧绿。
葡萄出窖。
把葡萄窖一锹一锹挖开。挖下的土,堆在四面。葡萄藤露出来了,乌黑的。有的梢头已经绽开了芽苞,吐出指甲大的苍白的小叶。它已经等不及了。
把葡萄藤拉出来,放在松松的湿土上。
不大一会,小叶就变了颜色,叶边发红;——又不大一会,绿了。
三月,葡萄上架。
先得备料。把立柱、横梁、小棍,槐木的、柳木的、杨木的、桦木的,按照树棵大小,分别堆放在旁边。立柱有汤碗口粗的、饭碗口粗的、茶杯口粗的。一棵大葡萄得用八根、十根,乃至十二根立柱。中等的,六根、四根。
先刨坑,竖柱。然后搭横梁。用粗铁丝摽紧。然后搭小棍,用细铁丝缚住。
然后,请葡萄上架。把在土里趴了一冬的老藤扛起来,得费一点劲。大的,得四五个人一起来。“起!——起!”哎,它起来了,把它放在葡萄架上,把枝条向三面伸开,像五个指头一样的伸开,扇面似的伸开。然后,用麻筋在小棍上固定住。葡萄藤舒舒展展,凉凉快快地在上面呆着。
上了架,就施肥。在葡萄根的后面,距主干一尺,挖一道半月形的沟,把大粪倒在里面。葡萄上大粪,不用稀释,就这样把原汁大粪倒下去。大棵的,得三四桶。小葡萄,一桶也就够了。
四月,浇水。
挖窖挖出的土,堆在四面,筑成垄,就成一个池子。池里放满了水。葡萄园里水气泱泱,沁人心肺。
葡萄喝起水来是惊人的。它真是在喝哎!葡萄藤的组织跟别的果树不一样,它里面是一根一根细小的导管。这一点,中国的古人早就发现了。《图经》云:“根苗中空相通。圃人将货之,欲得厚利,暮溉其根,而晨朝水浸子中矣,故俗呼其苗为木通。”“暮溉其根,而晨朝水浸子中矣。”是不对的,葡萄成熟了,就不能再浇水了。再浇,果粒就会涨破。“中空相通”却是很准确的。浇了水,不大一会,它就从根直吸到梢,简直是小孩嘬奶似的拼命往上嘬。浇过了水,你再回来看看吧:梢头切断过的破口,就嗒嗒地往下滴水了。
是一种什么力量使葡萄拼命地往上吸水呢?
施了肥,浇了水,葡萄就使劲抽条、长叶子。真快!原来是几根根枯藤,几天工夫,就变成青枝绿叶的一大片。
五月,浇水,喷药,打梢,掐须。
葡萄一年不知道要喝多少水,别的果树都不这样。别的果树都是刨一个“树碗”,往里浇几担水就得了,没有像它这样的:“漫灌”,整池子的喝。
喷波尔多液。从抽条长叶,一直到坐果成熟,不知道要喷多少次。喷了波尔多液,太阳一晒,葡萄叶子就都变成蓝的了。
葡萄抽条,丝毫不知节制,它简直是瞎长!几天工夫,就抽出好长的一截新条。这样长法还行呀,还结不结果呀?因此,过几天就得给它打一次条。葡萄打条,也用不着什么技巧,是个人就能干,拿起树剪,劈劈啪啪,把新抽出来的一截都给它铰了就得了。一铰,一地的长着新叶的条。
葡萄的卷须,在它还是野生的时候是有用的,好攀附在别的什么树木上。现在,已经有人给它好好地固定在架上了,就一点用也没有了。卷须这东西最耗养分,——凡是作物,都是优先把养分输送到顶端,因此,长出来就给它掐了,长出来就给它掐了。
葡萄的卷须有一点淡淡的甜味。这东西如果腌成咸菜,大概不难吃。
五月中下旬,果树开花了。果园,美极了。梨树开花了,苹果树开花了,葡萄也开花了。
都说梨花像雪,其实苹果花才像雪。雪是厚重的,不是透明的。梨花像什么呢?——梨花的瓣子是月亮做的。
有人说葡萄不开花,哪能呢,只是葡萄花很小,颜色淡黄微绿,不钻进葡萄架是看不出的,而且它开花期很短。很快,就结出了绿豆大的葡萄粒。
六月,浇水、喷药、打条、掐须。
葡萄粒长了一点了,一颗一颗,像绿玻璃料做的纽子。硬的。
葡萄不招虫。葡萄会生病,所以要经常喷波尔多液。但是它不像桃,桃有桃食心虫;梨,梨有梨食心虫。葡萄不用疏虫果。——果园每年疏虫果是要费很多工的。虫果没有用,黑黑的一个半干的球,可是它耗养分呀!所以,要把它“疏”掉。
七月,葡萄“膨大”了。
掐须、打条、喷药,大大地浇一次水。
追一次肥。追硫铵。在原来施粪肥的沟里撒上硫铵。然后,就把沟填平了,把硫铵封在里面。
汉朝是不会有追这次肥的,汉朝没有硫铵。
八月,葡萄“着色”。
别以为我这里是把画家的术语借用来了。不是的。这是果农的语言,他们就叫“着色”。
下过大雨,你来看看葡萄园吧,那叫好看!白的像白玛瑙,红的像红宝石,紫的像紫水晶,黑的像黑玉。一串一串,饱满、磁棒、挺括,璀璨琳琅。你就把《说文解字》里的玉字偏旁的字都搬了来吧,那也不够用呀!
可是你得快来!明天,对不起,你全看不到了。我们要喷波尔多液了。一喷波尔多液,它们的晶莹鲜艳全都没有了,它们蒙上一层蓝兮兮、白糊糊的东西,成了磨砂玻璃。我们不得不这样干。葡萄是吃的,不是看的。我们得保护它。
过不两天,就下葡萄了。
一串一串剪下来,把病果、瘪果去掉,妥妥地放在果筐里。果筐满了,盖上盖,要一个棒小伙子跳上去蹦两下,用麻筋缝的筐盖。——新下的果子,不怕压,它很结实,压不坏。倒怕是装不紧,逛里逛当的。那,来回一晃悠,全得烂!
葡萄装上车,走了。
去吧,葡萄,让人们吃去吧!
九月的果园像一个生过孩子的少妇,宁静、幸福,而慵懒。
我们还给葡萄喷一次波尔多液。哦,下了果子,就不管了?人,总不能这样无情无义吧。
十月,我们有别的农活。我们要去割稻子。葡萄,你愿意怎么长,就怎么长着吧。
十一月。葡萄下架。
把葡萄架拆下来。检查一下,还能再用的,搁在一边。糟朽了的,只好烧火。立柱、横梁、小棍,分别堆垛起来。
剪葡葡条。干脆得很,除了老条,一概剪光。葡萄又成了一个秃子。
剪下的葡萄条,挑有三个芽眼的,剪成二尺多长的一截,捆起来,放在屋里,准备明春插条。
其余的,连枝带叶,都用竹笤帚扫成一堆,装走了。
葡萄园光秃秃。
十一月下旬,十二月上旬,葡萄入窖。
这是个重活。把老本放倒,挖土把它埋起来。要埋得很厚实。外面要用铁锹拍平。这个活不能马虎。都要经过验收,才给记工。
葡萄窖,一个一个长方形的土墩墩。一行一行,整整齐齐地排列着。风一吹,土色发了白。
这真是一年的冬景了。热热闹闹的果园,现在什么颜色都没有了。眼界空阔,一览无余,只剩下发白的黄土。
下雪了。我们踏着碎玻璃碴似的雪,检查葡萄窖,扛着铁锹。
一到冬天,要检查几次。不是怕别的,怕老鼠打了洞。葡萄窖里很暖和,老鼠爱往这里面钻。它倒是暖和了,咱们的葡萄可就受了冷啦!
【导读】
仙子葡萄
汪曾祺的《葡萄月令》是一篇写得十分别致的抒情文,介绍一年之中与葡萄的种植、培育、采摘、贮藏等有关的“知识”,从一月到十二月,像记流水账一般。这篇散文最突出的特点是结构散漫、随意,全篇以十二月份为基本框架,以葡萄的生长为基本线索来组织文字。
文章从一月“葡萄藤”的冬眠开始,一直写到十二月份再次“冬眠”。这里,葡萄园中一年的劳动情景是美的,劳动不再是一种又脏又累的体力活儿,而是充满了诗意,人对劳动充满了喜悦和激情。作者笔下的葡萄是拟人化的,是葡萄仙子,有生命力,充满着创造的渴望。作者把葡萄的活力、创造力、奉献精神形象地展现出来了。葡萄生长的过程就是一个生命复苏、兴盛、发光发热、创造价值的过程。而这一切的创造者是谁呢?——劳动者,这就自然引出对劳动和劳动者的歌颂和赞美。在作者看来,劳动者是美的,因为他们创造了美好的生活。劳动是一种充满诗意的美,劳动者是美丽的,这就是本文要传达的主要思想。作者把劳动写的很“实”,有时甚至是不搀杂任何主观色彩的介绍式的描述。
作者在文中为我们呈现了三类形象。一类是葡萄。作者笔下的葡萄,充满着无限的生机和活力,既是自然界万物“竞自由”的写照,也是具有这种品格和精神的人的化身。二类是葡萄园的主人——果农。通过正面写劳动的程序带出劳动的人,作者把着力点放在对葡萄管理的程序的介绍上,这是本文写法的独特之处。三类是作者自身的形象。文章把“我”隐得很深,但是任何优秀的散文都不能没有“我”。“我”分明就在劳动中,是劳动者的一员。“我”用劳动创造了美,“我”在劳动中发现了美。如果作为一个旁观者,或者一味地用轻浮的笔触赞美果园的诗情画意,或者赞美果园美景的同时发一通“谁知盘中葡(萄),粒粒皆辛苦”的感叹,则文章就失去了对生活本质的开掘。
本文所描写的是作者在被下放到干校时的劳动场景,便更可以领略到“我”豁达乐观的人生态度。
《葡萄月令》可以当作乡土诗去读,其重心不在那些如同法则(“令”)的“知识”,而在于渗透在字里行间的情趣与情调。本文的写法属于那种“苦心经营的随便”,自然的文字如行云流水,展现着作者的胸怀、学养和志趣,既熠熠生辉,又摇曳多姿,有横看成岭侧成峰的妙处。全文虽然按十二个月来写葡萄的生长和收获过程,但有些月份详细些,有些月份简略些,张弛有度,加上每个月份间醒目的空行,仍然属于“苦心经营的随便”的结构技巧。总之,在《葡萄月令》中,作者并没有赞美葡萄果实美妙爽口的滋味,而是通过对葡萄一年四季的生长过程细致诗意的描绘,引领读者去发现葡萄之美,在平实自然的外表下蕴涵着深厚的情韵,是一篇高妙的写意之作。
《葡萄月令》的语言是一种诗化的语言,不斧凿、不堆砌,力求准确、简洁,崇尚朴实、自然,在意境上下工夫,显得疏淡、雅致而含蓄。“这样长法还行呀,还结不结果呀?”“下过大雨,你来看看葡萄园吧,那叫好看!”“那,来回一晃悠,全得烂!”“葡萄,你愿意怎么长,就怎么长着吧。”“它倒是暖和了,咱们的葡萄可就受了冷啦!”等等。作者似乎不是在写文章,而是在和老朋友聊天儿,想说什么就说什么,想怎么说就怎么说。由于口语色彩浓,有时看似啰唆多余的句子,却别有韵味,如“一铰,一地的长着新叶的条”,“长出来就给它掐了,长出来就给它掐了”。
作者笔下的葡萄仿佛成了一位仙子,人们赞叹:“《葡萄月令》将葡萄这颗小小的生命一月一月地写来,竟然写出了一个生命的宁馨儿!”唯有对自然和劳动充分热爱,才可在平淡的文字中让人体会到热切的感情。
2020年11月13日星期五
《再选你的父母》 -毕淑敏
我猜很多人一看到这个题目的名称,就大不以为然,甚至愤愤然了,觉得毕淑敏是不是昏了头,父母是可以再选的吗?中国是孝之邦,身体发肤,受之父母,戴德还表达不尽,岂容再选?我的父母是天下最好的父母,让我重选父母,这不是逼人不孝吗?若是父母已驾鹤西行,这题目简直就是违背天伦。
请您相信我,我没有一丁点想冒犯您的意思,也不是为了震撼视听哗众取宠,实在是为了您的心理健康。
父母可不可以批评?我想大家理论上一定承认父母是可以批评的。即使是伟人,也有这样那样的错误和缺点,我们的父母肯定不是完人,当然也可以讨论。可实际上,有多少人心平气和地批评过我们的父母,并收到了良好的回馈,最终取得了让人满意的效果呢?我能客观地审视父母的优劣长短、得失沉浮吗?我相信愤怒的青年可以大吵一架离家出走,但这并不代表着他能公允地建设性地评价父母。也许有人会说,那是历史了,我们有什么理由在很多年后,甚至在父母都离世之后,还议论他们的功过是非呢?
我想郑重地说,有。因为那些历史并没有消失,它们就存在我们心灵最隐秘的地方,时时在引导着我们的行为准则,操纵着我们的喜怒哀乐。
父母是会伤人的,家庭是会伤人的。当我们还是孩子的时候,我们无力分辨哪些是真正的教导、哪些只是父母自身情绪的宣泄。我们如同酒店里恭顺的小伙计,把父母的话和表情,还有习惯和嗜好,如同流水账一般记录在年幼的脑海中。他们是我们的长辈,他们供给我们吃穿住行,在某种程度上说,我们是凭借他们的喜爱和给予,才得以延续自己幼小的生命。那时候,他们就是我们的天和地,我们根本就没有力量抗辩他们、忤逆他们。
你的父母塑造了你,你在不知不觉中重复着他们展示给你的模板,你是他们某种程度的复制品。分析他们的过程其实是在分析你自己。
请你准备一张白纸,让思绪和想象自由驰骋。在白纸上方写下你的名字,左边写上“再选”二字。现在,纸上的这行字变成了“再选×”,你在这行字的右面写上“的父母”三个字。
“再选×的父母”。我敢说,也许在此刻之前,你从来没有想过可以把自己的父母炒了鱿鱼,让他们下岗,自行再来招聘一对父母。请你郑重地写下你为自己再选父母的名字。
父: 母:
我猜你一定狠狠地愣一下。虽然我们对自己的父母有过种种的不满,但真的把他们淘汰了,你一定目瞪口呆。你要挺住啊,记住这不过是一个游戏。
谁是我们再选父母的最佳人选呢?你不必煞费苦心,心灵游戏的奥妙之处就在于它的一闪念之中。你的潜意识如同潜藏深海的美人鱼,一个鱼跃,跳出海面,露出了它流线型的身躯和嘴边的胡须。原来,它并非美女,也不是猛兽。关于你的再选父母的人选,你把头脑中涌起的第一个人名写下就是了。
他们可以是英雄豪杰,也可以是邻居家的老媪;可以是已经逝去的英豪,也可以是依然健在的大款;可以是绝色佳人,也可以是末路英雄;可以是动物植物,也可以是山岳湖泊;可以是日月星辰,也可以是布帛黍粟;可以是一代枭雄,也可以是飞禽走兽;可以是自己仰慕的长辈,也可以是弟妹同学……总之,你就尽量展开想象的翅膀,天上地下地为自己选择一对心仪的父母。
你再选的父母是什么类型的东西(原谅我用了“东西”这个词,没有不敬的意思,只是一言以蔽之),这不重要。重要的是你在这个游戏中重新认识了你的父母,你在弥补你童年的缺憾,你在重新构筑你心灵的世界。你会发现自己缺少的东西、追求的东西到底是什么。
有个农村来的孩子,父母都是贫苦的乡民。在重选父母的游戏中,他令自己的母亲变成了玛丽莲•梦露,让自己的父亲变成了乾隆。我想这是一个非常典型的例子,我首先要感谢这位朋友的坦率和信任。因为这样的答案太容易引起歧义和嘲笑了,虽然它可能是很多人的向往。
我问他,玛丽莲•梦露这个女性,在你的字典中代表了什么?他回答说,她是我见过的最美丽和最现代的女人。我说,那么,你是不是觉得自己亲生母亲丑陋和不够现代?他沉默了很久说,正是这样。中国有句俗话叫做“儿不嫌母丑,狗不嫌家贫”,我嫌弃我的母亲丑,这真是大不敬的恶行。平常我从来不敢跟人表露,但她实在是太丑的女人,让我从小到大蒙受了很多耻辱。我在心里是讨厌她的。从我开始知道美丑的概念,我就不容她和我一道上街,就是距离很远,一前一后的也不行,因为我会感到人们的目光像线一样把我和她联系起来。后来我到城里读高中,她到学校看我,被我呵斥走了。同学问起来,我就说,她是一个丐婆,我曾经给过她钱,她看我好心,以为我好欺负,居然跟到这里来了……我说这些话的时候,觉得自己也很有道理,因为母亲丑,并把她的丑遗传给了我,让我承受世人的白眼,我想她是对不住我的。至于我的父亲,他是乡间的小人物,会一点小手艺,能得到人们的一点小尊敬。我原来是以他为豪的,后来到了城里,上了大学,才知道山外有山、天外有天,才知道父亲是多么草芥。同学们的父亲,不是经常在本地电视要闻中露面的政要,就是腰缠万贯、挥金如土的巨富,最次的也是个国企的老总,就算厂子穷得叮当响,照样有公车来接子女上下学。我的位于社会底层的位置是我的父母强加给我的,这太不公平。深层的怒火潜伏在我心底,使我在自卑的同时非常敏感,性格懦弱,但在某些时候又像地雷似的一碰就炸……算了,不说我了,我本来认命了,因为父母是不能选择的,所以也从来没有动过这方面的脑筋。既然你今天让做换父母的游戏,让我可以大胆设想、别具一格,我一下子就想到了梦露和乾隆。
我说,先问你一个问题,如果父亲不是乾隆,换成布什或布莱尔,要不就是拉登,你以为如何?
他笑起来说,拉登就免了吧,虽然名气大,但是个恐怖分子,再说翻山越岭胡子老长的也太辛苦。布什或布莱尔?
当然可以,我说,你希望有一个总统或是皇上当父亲,这背后反映出来的复杂思绪,我想你能察觉。
他静了许久,说,我明白那永远伴随着我的怒气从何而来了。我仰慕地位和权势,我希图在众人视线的聚焦点上。我看重身份,热爱钱财,我希望背靠大树好乘凉……当这些无法满足的时候,我就怨天尤人,心态偏激,觉得从自己一落地就被打入了另册。因此我埋怨父母,可是中国“孝”字当先,我又无法直抒胸臆,情绪翻搅,就让我永远不得轻松。工作中、生活中遇到的任何挫折,都会在第一时间让我想起先天的差异,觉得自己无论怎样奋斗也无济于事……
我说,谢谢你的这番真诚告白。只是事情还有另一面的解释,我不知你想过没有?
他说,我很想一听。
我说,这就是,你那样平凡贫困的父母在艰难中养育了你,你长得并不好看,可他们没有像你嫌弃他们那样嫌弃你,而是给了你力所能及的爱和帮助。他们自己处于社会的底层,却竭尽全力供养你读书,让你进了城,有了更开阔的眼界和更丰富的知识。他们明知你不以他们为荣,可他们从不计较你的冷淡,一如既往地以你为荣。他们以自己孱弱的肩膀托起了你的前程,我相信这不是希求你的回报,只是一种无私无悔的爱。
你把梦露和乾隆的组合当成你的父母的最佳结合,恕我直言,这种跨越国籍和历史的组合,攫取了威权和美貌的叠加,在这后面你是否舍弃了自己努力的空间?
梦露是出自上帝之手的珍稀品种,乾隆也是天分和无数拼杀才造就的英才。在你的这种搭配中,我看到是一厢情愿的无望,还有不切实际的奢求。
那位年轻人若有所思地走了。我注视着他的背影,期待他今后可能会有改变。
请你静静地和你的心在一起,面对着你写下的期望中的父母的名字,去感受这种差异后面麇集的情愫。发现是改变的尖兵。
2020年11月10日星期二
提示 管理员已阻止你运行此应用 mmc.exe 的正确解决办法
win10系统下,当右击此电脑,点管理时;或者右击开始按钮,点计算机管理时(或设备管理器),会弹出警告提示:
用户账户控制
为了对电脑进行保护,已阻止此应用。
管理员已阻止你运行此应用。有关详细信息,请与管理员联系。
mmc.exe
发布者:未知
文件源:此计算机上的硬盘驱动器
程序位置:“C:\Windows\System32\mmc.exe” “C:\Windows\System32\compmgmt.msc” /s
关于这类问题,百度一下,千篇一律的都是让你修改“允许应用或功能通过Windows防火墙”,添加mmc.exe,设为允许。然而这方法并没有什么用,而且跟这问题扯不上关系。
系统进程自动提权,猜测是mmc.exe损坏了。
对于这个问题,应该可以用以下命令解决:
sfc /scannow
或者先执行下面命令,再执行上面命令(需win8及以上系统):
dism /online /cleanup-image /restorehealth
这个问题可能跟硬盘故障(如坏道)或内存问题有关,或者是异常关机导致文件损坏,还可能是病毒感染了mmc.exe等。
2020年11月3日星期二
在 Linux 服务器部署 Halo
更新软件包
创建Halo用户,增加sudo权限,并切换至halo用户
adduser halo
usermod -aG sudo halo
su - halo
/usr/local/app/halo
更新软件包,确保服务器的软件包已经是最新的。
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
安装 Java 运行环境
若已经存在 Java 11运行环境的可略过这一步。
# 安装 OpenJRE (Debian 10 中 OpenJDK 11作为默认Java软件包)
sudo apt-get install default-jdk
# 检测是否安装成功
java -version
从 1.4.3 起,版本要求为 11 以上的版本。1.4.3 以下需要 1.8 以上的版本。
下面是JDK完全卸载示例:(需要在root模式下进行操作)打开命令终端,切换到root模式下
su root
1、移除所有 Java相关包 (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ)
apt-cache search java | awk '{print($1)}' | grep -E -e '^(ia32-)?(sun|oracle)-java' -e '^openjdk-' -e '^icedtea' -e '^(default|gcj)-j(re|dk)' -e '^gcj-(.*)-j(re|dk)' -e 'java-common' | xargs sudo apt-get -y remove
sudo apt-get -y autoremove
进行更新
sudo apt-get update
2、清除配置信息:
dpkg -l | grep ^rc | awk '{print($2)}' | xargs sudo apt-get -y purge
3、清除java配置及缓存:
bash -c 'ls -d /home/*/.java' | xargs sudo rm -rf
4、清除jvm文件夹里面的文件
rm -rf /usr/lib/jvm/*
创建 Halo 用户
我们推荐创建一个低权限的用户运行 halo
:
# 创建 halo 用户
sudo useradd -m halo
# 直接登录该用户
sudo su halo
安装 Halo
配置文件
请注意:配置文件的路径为 ~/.halo/application.yaml
。
# 下载配置文件到 ~/.halo 目录
curl -o ~/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml
修改配置文件
完成上一步操作,我们就可以自己配置 Halo
的运行端口,以及数据库相关的配置了。
# 使用 Vim 工具修改配置文件
vim ~/.halo/application.yaml
打开之后我们可以看到
server:
port: 8090
# Response data gzip.
compression:
enabled: false
spring:
datasource:
# H2 database configuration.
driver-class-name: org.h2.Driver
url: jdbc:h2:file:~/.halo/db/halo
username: admin
password: 123456
# MySQL database configuration.
# driver-class-name: com.mysql.cj.jdbc.Driver
# url: jdbc:mysql://127.0.0.1:3306/halodb?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
# username: root
# password: 123456
# H2 database console configuration.
h2:
console:
settings:
web-allow-others: false
path: /h2-console
enabled: false
halo:
# Your admin client path is https://your-domain/{admin-path}
admin-path: admin
# memory or level
cache: memory
- 如果需要自定义端口,修改
server
节点下的port
即可。 - 默认使用的是
H2 Database
数据库,这是一种嵌入式的数据库,使用起来非常方便。需要注意的是,默认的用户名和密码为admin
和123456
,这个是自定义的,最好将其修改,并妥善保存。 - 如果需要使用
MySQL
数据库,需要将H2 Database
的所有相关配置都注释掉,并取消MySQL
的相关配置。另外,MySQL
的默认数据库名为halodb
,请自行配置MySQL
并创建数据库,以及修改配置文件中的用户名和密码。 h2
节点为H2 Database
的控制台配置,默认是关闭的,如需使用请将h2.console.settings.web-allow-others
和h2.console.enabled
设置为true
。控制台地址即为域名/h2-console
。注意:非紧急情况,不建议开启该配置。server.compression.enabled
为Gzip
功能配置,如有需要请设置为true
,需要注意的是,如果你使用Nginx
或者Caddy
进行反向代理的话,默认是有开启Gzip
的,所以这里可以保持默认。halo.admin-path
为后台管理的根路径,默认为admin
,如果你害怕别人猜出来默认的admin
(就算猜出来,对方什么都做不了),请自行设置。仅支持一级,且前后不带/
。halo.cache
为系统缓存形式的配置,可选memory
和level
,默认为memory
,将数据缓存到内存,使用该方式的话,重启应用会导致缓存清空。如果选择level
,则会将数据缓存到磁盘,重启不会清空缓存。如不知道如何选择,建议默认。
注意
使用 MySQL 之前,必须要先新建一个 halodb
数据库,MySQL 版本需 5.7 以上。
create database halodb character set utf8mb4 collate utf8mb4_bin;
运行 Halo
Halo 的整个应用程序只有一个 Jar 包,且不包含用户的任何配置,它放在任何目录都是可行的。需要注意的是,Halo 的整个额外文件全部存放在 ~/.halo
目录下,包括 application.yaml(用户配置文件)
,template/themes(主题目录)
,upload(附件上传目录)
,halo.db.mv(数据库文件)
。一定要保证 ~/.halo
的存在,你博客的所有资料可都存在里面。所以你完全不需要担心安装包的安危,它仅仅是个服务而已。
# 下载最新的 Halo 安装包,{{version}} 为版本号,不带 v,更多下载地址请访问 https://halo.run/archives/download.html
wget https://dl.halo.run/release/halo-{{version}}.jar -O halo-latest.jar
# 启动测试
java -jar halo-latest.jar
如看到以下日志输出,则代表启动成功.
run.halo.app.listener.StartedListener : Halo started at http://127.0.0.1:8090
run.halo.app.listener.StartedListener : Halo admin started at http://127.0.0.1:8090/admin
run.halo.app.listener.StartedListener : Halo has started successfully!
提示
以上的启动仅仅为测试 Halo 是否可以正常运行,如果我们关闭 ssh 连接,Halo 也将被关闭。要想一直处于运行状态,请继续看下面的教程。
进阶配置
上面我们已经完成了 Halo 的整个配置和安装过程,接下来我们对其进行更完善的配置,比如:需要开机自启?
,更简单的启动方式?
实现以上功能我们只需要新增一个配置文件即可,也就是使用 Systemd
来完成这些工作。
如果当前用户为 halo 用户,则需要退出 halo 用户,进入一个拥有管理员权限的用户下:
# 查看当前登录用户
whoami
# 退出 halo 登录,进入一个有管理员权限的用户
su xxx 或者直接 exit
# 下载 Halo 官方的 halo.service 模板
sudo curl -o /etc/systemd/system/halo.service --create-dirs https://dl.halo.run/config/halo.service
下载完成之后,我们还需要对其进行修改。
# 修改 halo.service
sudo vim /etc/systemd/system/halo.service
打开之后我们可以看到
[Unit]
Description=Halo Service
Documentation=https://halo.run
After=network-online.target
Wants=network-online.target
[Service]
User=halo
Type=simple
ExecStart=/usr/bin/java -server -Xms256m -Xmx256m -jar YOUR_JAR_PATH
ExecStop=/bin/kill -s QUIT $MAINPID
Restart=always
StandOutput=syslog
StandError=inherit
[Install]
WantedBy=multi-user.target
参数:
- -Xms256m:为 JVM 启动时分配的内存,请按照服务器的内存做适当调整,512 M 内存的服务器推荐设置为 128,1G 内存的服务器推荐设置为 256,默认为 256。
- -Xmx256m:为 JVM 运行过程中分配的最大内存,配置同上。
- YOUR_JAR_PATH:Halo 安装包的绝对路径,例如
/www/wwwroot/halo-latest.jar
。
提示
- 如果你不是按照上面的方法安装的 JDK,请确保
/usr/bin/java
是正确无误的。 - systemd 中的所有路径均要写为绝对路径,另外,
~
在 systemd 中也是无法被识别的,所以你不能写成类似~/halo-latest.jar
这种路径。 - 如何检验是否修改正确:把 ExecStart 中的命令拿出来执行一遍。
# 修改 service 文件之后需要刷新 Systemd
sudo systemctl daemon-reload
# 使 Halo 开机自启
sudo systemctl enable halo
# 启动 Halo
sudo service halo start
# 重启 Halo
sudo service halo restart
# 停止 Halo
sudo service halo stop
# 查看 Halo 的运行状态
sudo service halo status
完成以上操作即可通过 IP:端口
访问了。不过在此之前,最好先完成后续操作,我们还需要让域名也可以访问到 Halo,请继续看 配置域名访问。
更新 Halo
# 备份数据
cp -r ~/.halo ~/.halo.bak
# 备份旧的安装包
mv halo-latest.jar halo-latest.jar.bak
# 下载最新的 Halo 安装包,{{version}} 为版本号,不带 v,更多下载地址请访问 https://halo.run/archives/download.html
wget https://dl.halo.run/release/halo-{{version}}.jar -O halo-latest.jar
# 测试是否能够正常启动
java -jar halo-latest.jar
# 重启应用
service halo restart