<?xml version="1.0" encoding="utf-8"?>






<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title>Shiiko&#39;s Blog</title>
        <link>https://blog.xlclan.com/</link>
        <description>Shiiko的博客</description>
        <generator>Hugo 0.124.1 https://gohugo.io/</generator>
        
            <language>zh</language>
        
        
            <managingEditor>Shiiko@xlclan.com (Shiiko)</managingEditor>
        
        
            <webMaster>Shiiko@xlclan.com (Shiiko)</webMaster>
        
        
            <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
        
        <lastBuildDate>Mon, 01 Dec 2025 12:55:52 &#43;0000</lastBuildDate>
        
            <atom:link rel="self" type="application/rss&#43;xml" href="https://blog.xlclan.com/rss.xml" />
        
        
            <item>
                <title>平行轨迹｜DAY2 · 山与心的回声</title>
                <link>https://blog.xlclan.com/posts/%E4%B9%9D%E5%AF%A8%E6%B2%9F%E4%B9%8B%E6%97%85/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E4%B9%9D%E5%AF%A8%E6%B2%9F%E4%B9%8B%E6%97%85/</guid>
                <pubDate>Mon, 03 Nov 2025 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;一个半月前，莹莹忽然对我说：“我想去九寨沟。”
我接了一句：“选个周末”
她拿起日历翻了翻，停在11月的格子上，说：“难道...11月的..周末？”
我笑着回应：“对啊，1、2号，我能一起吗？”
很快，她就叫上了PP和灰原——一趟秋日的九寨沟之行，就这样在几句轻松的对话里立了约，像一颗种子落进心底，静等发芽。&lt;/p&gt;
&lt;p&gt;10月31日晚，我从上海飞到成都，他们三个从深圳飞来。抵达已经很晚了，成都东站附近的酒店成了我们短暂的落脚点。时间不多，留给我们只能是一个安稳的睡眠和稍许的预热。&lt;br&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103214545.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;清晨五点的闹钟，比平常响得更清澈。大家半眯着眼集合，五点半出发，乘高铁向黄龙九寨进发。窗外的景色从灰蓝的天色，渐渐染上了金黄与纯白：藏寨烟火、远处雪山、近处彩林，像翻页般滑过，伴着连连的惊叹，不知是为了风光，还是为了此刻心中那点悸动。&lt;br&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103214726.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103215042.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;到九寨沟后，先把行李丢进酒店，沿着去景区的路边买了麦当劳。纸袋里混着暖意，笑声却不断溢出。PP和灰原举着相机，忙着捕捉某个恰好的角度；我和莹莹用 Pocket 3 拍摄着日常片段，试着把今天的色彩装进口袋里。&lt;br&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103214914.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;景交车沿着右线一路开向原始森林，彩池的蓝绿浓得像颜料盘打翻，偶尔闪过光。我们从原始森林一路走到熊猫海、五花海、珍珠滩、镜海。珍珠滩边，灰原突然提议公放《敢问路在何方》，歌声在山谷里跑了一圈——大家不由自主笑成一团，山水的回声混进了欢叫声里，也许，还有一点点心的回响。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103220409.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103215537.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103215108.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103215352.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103215456.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103215518.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;长海、五花池原本在计划里，但车已经停运，只能被迫离开景区。在出景区的路上，又遇见了老虎海——像是它在提醒我们：旅途总有未曾预备的相遇。&lt;br&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103215142.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103215316.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;离开后，打车成了小小的挑战。干脆走路去一公里外的火锅店。路上吃到了青稞饼，温热的香气像给脚步加了速。晚餐是菌子牦牛火锅，店家招待了牦牛酸奶——酸甜里藏着今天的疲惫，和无法言说的满足。&lt;br&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103220434.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251103220448.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;再次找车依旧不易，幸运的是拦到了一辆的士，以20块送我们到酒店附近。堵车中提前下车，意外发现了想买的明信片和冰箱贴——也许这就是旅行的另一条平行轨迹，不在计划表中，却能让人记住。&lt;/p&gt;
&lt;p&gt;夜归后，大家围在中庭聊天、翻看今天的好照片，笑声和灯光交织，直到一点才散去。那一刻，我知道，有些旅途不仅留在相机镜头里，也会在心里长久停留——山与心的回声，亦是人与人之间的回声。&lt;/p&gt;
&lt;p&gt;次日，早起赶路，黄龙九寨站到成都东，再到天府机场，每一步都拉近了分别的时刻，也让曾并行的轨迹在这一天画上暂时的句点。我们没有刻意告别——因为或许下一段平行轨迹，已经悄悄在前方等着。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>平行轨迹｜DAY1 · 梦里海边的光影</title>
                <link>https://blog.xlclan.com/posts/%E6%B7%B1%E5%9C%B3%E4%B9%8B%E6%97%85/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E6%B7%B1%E5%9C%B3%E4%B9%8B%E6%97%85/</guid>
                <pubDate>Mon, 20 Oct 2025 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h3 id=&#34;day-1&#34;&gt;Day 1&lt;/h3&gt;
&lt;p&gt;九月的上海，午后的阳光透过窗棂洒落，一次平凡的聊天，却把距离拉近了一点。莹莹提起那里的海，说着“下个月可以找一个周末”。那时我心想，或许只是随口一说，但随着时间推移，这句话成了心底的盼望。十月初，莹莹开始关心天气，仿佛在默默地规划着这次旅程。那时我知道，莹莹真正想让我看到她眼中的那片美好。&lt;/p&gt;
&lt;p&gt;于是我毫不犹豫地订下了飞往深圳的机票。无论天气如何，我都决定去看看莹莹想让我看到的大海。&lt;/p&gt;
&lt;p&gt;十月十八日凌晨的深圳，夜色温柔。飞机降落后，我先去酒店落脚，准备迎接即将展开的旅程。周六早上九点出发，虽然因为一些小插曲我们推迟到了九点半才从莹莹家集合出发，车窗外的海岸线和市区风景一一闪过，心情随景色流转。&lt;/p&gt;
&lt;p&gt;第一站是深圳天文台。乘大巴上山，从高处俯瞰，大海波光粼粼，空气里弥漫着咸润的海风。我们沿着山路慢慢走，拍了不少照片，一切都轻松自在。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021235805.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021221857.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;随后乘坐快艇近距离观海，迎着海风，感受波浪拍打的节奏。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021235547.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;为车充电的同时我们将午餐选在路边一家小餐馆，虾肉弹嫩，清蒸鱼鲜美，简单的料理却让人印象深刻。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021233400.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;下午去了象鼻岩，那里的海水清澈见底，岩石形态奇异，像是被海浪精心雕刻过。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021221940.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021221706.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021221957.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021222012.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;傍晚时分，我们来到预定的海景餐厅。正吃着餐厅里独具特色的龙虾海鲜饭和巴斯克柔心蛋糕，远处海滩忽然绽放起烟花。夜色、海浪、光影交织在一起，那一刻，就像席间的海风带来了相似的灵魂呼吸。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021233439.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;回程中试图前往盐田港，却因走错路几经折返，甚至绕到朋友家附近。索性邀请朋友同行，路上依旧波折，最终放弃前往盐田，一起在街边吃了盘热腾腾的肠粉，虽是计划外的插曲，却也成了温暖的收获。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021233505.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;晚上送莹莹回家后，结束第一天行程，心中满是对接下来旅行的期待。&lt;/p&gt;
&lt;h3 id=&#34;day-2&#34;&gt;Day 2&lt;/h3&gt;
&lt;p&gt;清晨出发前往鹅公湾，途中先给车充电。等待的间隙，我们决定去海边吃早餐。很快找到一辆咖啡车，坐在简易的露营凳上，迎着晨风，品尝着简单的早餐。望着远处海天一色，空气里带着咸咸的海味和咖啡的香气，时间似乎恰好缓了下来。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021235054.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;正午的阳光透过云层洒在鹅公湾，海面波光粼粼映出天色的明净。我们找了一个临海的角落，点了杯莫吉托，海风轻拂脸庞，带着一丝咸意，气氛安静而自在。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021222332.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;坐在那里，看着海天一色，时间仿佛慢了下来。仿佛被这片海水轻柔包裹，青蓝的海水映着笑意，简单的相处就已觉得愉悦。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20251021221918.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;午后我们一起走进海里，海水比想象中还要清凉，脚踩着细沙，波浪轻轻拍打着肌肤。嬉水的瞬间，有种说不出的舒畅，仿佛连空气里都染上了轻松的味道。&lt;/p&gt;
&lt;p&gt;随着夕阳西沉，旅程也接近尾声。我人虽在回程的路上，心却还留在那片海里，留在那咸咸的风中。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>东京之旅</title>
                <link>https://blog.xlclan.com/posts/%E4%B8%9C%E4%BA%AC%E4%B9%8B%E6%97%85/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E4%B8%9C%E4%BA%AC%E4%B9%8B%E6%97%85/</guid>
                <pubDate>Sun, 17 Aug 2025 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h3 id=&#34;凌晨的机场迷糊的旅伴和一场极限特种兵的吉卜力之旅&#34;&gt;凌晨的机场，迷糊的旅伴，和一场极限特种兵的吉卜力之旅&lt;/h3&gt;
&lt;p&gt;提前几个月抢到票的时候，我就知道这趟东京行会有点疯。久石让×皇家爱乐乐团 2025特别巡演 吉卜力工作室电影音乐会 巡回终站在东京巨蛋。机会难得，但时间紧得离谱，于是咬咬牙，决定拼一把——结果就是，这一路几乎没怎么睡觉，累到灵魂出窍，但又开心得不行。&lt;/p&gt;
&lt;h3 id=&#34;出发前就遇上了有缘人&#34;&gt;出发前就遇上了“有缘人”&lt;/h3&gt;
&lt;p&gt;取票的时候，旁边突然凑过来一个女孩子。&amp;quot;电子签证要打印吗？&amp;quot;她的声音带着点不确定。我摇摇头说不用，她立刻松了口气，然后像是打开了话匣子：&amp;quot;我从杭州过来的，今天简直太离谱了！&amp;quot;她掰着手指数：地铁坐反方向，高铁错坐到无锡，好不容易折腾到虹桥，一查机票发现是浦东机场的。&amp;quot;我当时站在地铁站里都快哭出来了，&amp;quot;她笑着说，&amp;quot;最后还是打车狂奔过来的。&amp;quot;&lt;/p&gt;
&lt;p&gt;我一边听一边笑，她的倒霉经历讲得绘声绘色，明明是很惨的事，从她嘴里说出来就特别好笑。&amp;quot;你也是这班飞机吗？要不要一起走？我等你啊。&amp;quot;她突然这么提议。我有点意外，但想想路上有个伴也不错。她一路跟我聊，说自己是个超级大迷糊，但心态超好。我一边听一边笑，原本紧张的登机过程突然变得轻松起来。&lt;/p&gt;
&lt;p&gt;飞机起飞时天还没亮，我靠在窗边，看着下面上海的灯火一点点变小。我突然觉得这趟旅行有个不错的开始。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/9a497a1c40cf4808169af6924a46521.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;凌晨到东京直奔吉卜力美术馆&#34;&gt;凌晨到东京，直奔吉卜力美术馆&lt;/h3&gt;
&lt;p&gt;飞机上没睡好，凌晨5点落地，困得眼皮打架，但还是赶紧去和Kiki汇合。稍微休息了一下，就冲去三鹰之森吉卜力美术馆。这里每次来都有新发现，龙猫售票亭、天空之城的机器人，那些藏在角落的小彩蛋，像是宫崎骏留给粉丝的悄悄话。入口处的龙猫售票亭，二楼的工作室还原，顶楼的机器人雕像。我最喜欢的是那个小小的放映厅，正在放一部没对外公开的短篇动画。Kiki在旁边小声说：&amp;quot;每次来放的片子都不一样，运气好的话能看到很特别的。我们买了好多好多周边。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/9e7106e9b0d87f215b8dbd49f3793ce.jpg&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/be692db4de382503dc2121704c24de7.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;久石让的音乐会听到起鸡皮疙瘩&#34;&gt;久石让的音乐会，听到起鸡皮疙瘩&lt;/h3&gt;
&lt;p&gt;赶到东京巨蛋时，门口已经排起了长队。找到座位坐下时，我的手心都是汗。久石让的音乐会才是这趟旅行的重头戏。灯光亮起来，久石让走上台，全场响起掌声。《千与千寻》《幽灵公主》《哈尔的移动城堡》……熟悉的旋律一响，全场安静得只剩下呼吸声。最震撼的是《幽灵公主》那段，交响乐团的演奏太有力量了，我闭上眼睛，感觉整个人都被音乐淹没了。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/e48daac963005ece02a94772ac5cf7c.jpg&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/4a067bd7a65d75583b3542be40af6df.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;高畑勋展和咖喱饭&#34;&gt;高畑勋展和咖喱饭&lt;/h3&gt;
&lt;p&gt;音乐会结束后，和几个朋友一起去看了高畑勋展。以前只知道他是吉卜力的重要人物，但这次展览详细展示了他怎么一点点打磨出《辉夜姬物语》《萤火虫之墓》这样的作品。展览详细展示了《辉夜姬物语》的制作过程，原来那些看起来流畅自然的水墨画面，每一帧都要反复修改几十次。有个展区专门展示分镜脚本，上面密密麻麻写满了注释。看完有点感慨，原来每一帧的美丽背后，都是无数次的推翻重来。&lt;/p&gt;
&lt;p&gt;出门后饿得不行，在展览联名店铺吃了咖喱饭。日本的咖喱和国内的不太一样，更浓郁，带点微甜，吃完整个人都活过来了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/2b8305c592a1118b6470088b1496ef7.jpg&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/f97f0496e37d6954df1d9019eff4078.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;37小时没睡人已掉线&#34;&gt;37小时没睡，人已掉线&lt;/h3&gt;
&lt;p&gt;晚上还有一场音乐会，但这个时候的我，已经37小时没合眼了。Kiki和朋友在巨蛋外面合影，我脑子完全是懵的。结束后和Kiki回新宿的酒店，饿得又泡了碗面，吃完倒头就睡。&lt;br&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/3bf944031dbd88de6b132e8a9f9b027.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;第二天红猪飞机和圣地巡礼&#34;&gt;第二天：红猪飞机和圣地巡礼&lt;/h3&gt;
&lt;p&gt;第二天是被Kiki的闹钟吵醒的。他要去领听到涛声的周边，说好中午在寺田仓库碰面。我睡到自然醒，拉开窗帘发现是个晴天。去仓库的路上经过一家面包店，买了刚出炉的菠萝包当早餐。直接去寺田仓库找他看吉卜力立体造形物展。寺田仓库的展览比想象中还要精彩，Kiki从头给我讲述了吉卜力的发展史，详细介绍了他们在欧美和亚洲电影上映历史。最后，我被震撼到了——1:1的红猪飞机SAVOIA S-21，金属机身闪着光，像是随时能起飞。站在它前面，突然有种穿越进电影里的错觉。我绕着它转了好几圈，从每个角度拍照。&amp;quot;要不要去新宿御苑？&amp;quot;我问他，&amp;quot;我想去看看《言叶之庭》的那个亭子。&amp;quot;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/0a65ae376802bd07ed091e288900f05.jpg&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/70ab8b058897c7f48e627e19e0784e6.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;下午我一个人去了新宿御苑，新宿御苑比记忆中更加葱郁。上次冬日来访时的萧瑟景象已被满目翠绿取代，我拿着手机对照电影里的场景，找到了那个著名的凉亭。终于看到了《言叶之庭》里的样子。坐在凉亭里，虽然没有下雨，但坐在长椅上，好像能听见电影里的对白。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/c8629cf98af92bad270f9218522dd64.jpg&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/8af163b4c71bcd9c916319d6522e654.jpg&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/22ddaef6710ef79bf528340cc24c766.jpg&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/f268d911cebec502cd81454f3385de5.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;渋谷的最后一站听到涛声和烤牛肉&#34;&gt;渋谷的最后一站：《听到涛声》和烤牛肉&lt;/h3&gt;
&lt;p&gt;晚上和Kiki在渋谷碰头，一起看了《听到涛声》。这是部很老的吉卜力作品，讲的是高中生的暗恋故事。这部不算热门，但特别细腻，看完有点感慨青春里的那些错过。影院里人不多，大多是像我们这样的粉丝。看完电影已经快十点了，我们找了家烤肉店。和牛在铁板上滋滋作响，油花慢慢融化。我说这是我这趟旅行最满足的一餐。Kiki说：“下次再来，不知道是什么时候了。”我点点头，但心里知道，这样的旅行，有一次就够记很久了。&lt;br&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/1b7d385c6b48fbad06eb2f28d00d771.jpg&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/2dbd54c039cda339a1805a3442c83f5.jpg&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;回程&#34;&gt;回程&lt;/h3&gt;
&lt;p&gt;羽田机场的晨曦温柔地洒在跑道上。飞机起飞时，我翻看着这两天的照片：音乐会的票根，红猪飞机的英姿，新宿御苑的绿荫，还有那碗深夜的泡面。每一张都承载着独特的回忆。当久石让的旋律在脑海中再次响起时，我知道，这趟不眠的旅程，已经成为了最珍贵的记忆。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/b0fc11f8f2e572fcde94059ae0f3c88.jpg&#34;&gt;
旅行就是这样吧，计划再周全，也总会有点意外。比如那个在机场遇到的迷糊女孩，比如差点睡过头的早晨，比如临时决定去看的展览……但这些“计划外”的东西，反而让整段回忆变得更鲜活。&lt;/p&gt;
&lt;p&gt;下次再去东京，不知道会是什么时候。但至少这一次，没留遗憾。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>圣地巡礼之言叶之庭</title>
                <link>https://blog.xlclan.com/posts/%E5%9C%A3%E5%9C%B0%E5%B7%A1%E7%A4%BC%E4%B9%8B%E8%A8%80%E5%8F%B6%E4%B9%8B%E5%BA%AD/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%9C%A3%E5%9C%B0%E5%B7%A1%E7%A4%BC%E4%B9%8B%E8%A8%80%E5%8F%B6%E4%B9%8B%E5%BA%AD/</guid>
                <pubDate>Sun, 27 Jul 2025 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;隐约雷鸣，阴霾天空，即使天无雨，我亦留此地。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/70e8504b8c1ce00ff15d6b30a363093.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/4ed46de7bcf504d1a373fb360c080d5.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/de241c86a0074937793d60f48b42706.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/2154ab1474b43578fa61d3cce802c3b.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/4090181278a77b33fd2a4f2a2720c16.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/bedcb5bcc3e44aaea0163ff4abfcdef.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/136abd397e49c7bb6158fd2cf68cb1d.jpg&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>圣地巡礼之摇曳露营</title>
                <link>https://blog.xlclan.com/posts/%E5%9C%A3%E5%9C%B0%E5%B7%A1%E7%A4%BC%E4%B9%8B%E6%91%87%E6%9B%B3%E9%9C%B2%E8%90%A5/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%9C%A3%E5%9C%B0%E5%B7%A1%E7%A4%BC%E4%B9%8B%E6%91%87%E6%9B%B3%E9%9C%B2%E8%90%A5/</guid>
                <pubDate>Sun, 27 Apr 2025 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;2025年4月初，我终于背上帐篷去了那个在《摇曳露营》里无数次让我心动的地方——本栖湖旁的浩庵露营场。&lt;/p&gt;
&lt;p&gt;出发那天，一切都本应很顺利。从名古屋退房、赶地铁、准时来到新干线站台，还特意选了左侧靠窗的位置，想着能在静冈段好好欣赏富士山的全景。然而，旅途总喜欢在计划表上撒点胡椒粉——新干线发车后不久，我忽然觉察到气氛不对，我的座位上有其他乘客……在与列车员的反复核对后，列车员告诉我一个坏消息，我上错了车，这辆车是开往横滨的。&lt;/p&gt;
&lt;p&gt;满头问号的我在横滨站下了车，只得又换乘新干线坐回新富士站。这样的小插曲，不仅让我错过了原本12:05那班前往本栖湖的巴士，也让我的行程整整推迟了两个小时。原计划健步如飞变成了沉静如禅，不过这趟“迷路”旅程，也让我在新富士车站安心地吃了一顿牛舌定食，一餐补回了早起时积攒的所有疲惫感。&lt;/p&gt;
&lt;p&gt;下午的巴士上，窗外是越来越近的山和田野，空气也变得越来越清新。不知“浩庵”两个字在屏幕前念了多少遍，这次终于提着行李走向湖边。抵达营地时太阳已经有点西斜，帐篷一顶顶散布在湖岸。不远处，就是动画里的那面湖，那座山——富士山的雪顶静静倒映在本栖湖水面。&lt;/p&gt;
&lt;p&gt;搭好帐篷，我绕营地慢慢散步，找到了动画取景的角度，甚至还有和剧中主角们一起拍照的小摆件。夕阳下的富士山，真的像动画里一样温柔。那一刻甚至觉得，现实比二次元还要辽阔动人。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/3afcf1309f8d76d531a611d5da723b8.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;晚餐是简单的野炊泡面，但在这风景面前，泡面也变得有仪式感。夜幕降临时，帐篷内外都透着温暖的光。夜里湖面很安静，偶尔能听到远处有钓鱼人嬉笑的声音。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/ced2ae7f2384da5f0c52ee23a6c47c6.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;凌晨时分，天刚蒙蒙亮。我特意爬起来看本栖湖的日出。富士山轮廓在湖面上映出金色的边线，湖面特别安静，像整个世界都还没醒来。拍了许多照片，想把这份宁静带回城市。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/5e07ac71cc2c798f1371494bc9e1bce.jpg&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/73a844d0800ec408ce49edfa76a7c14.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;再后来，顺着原路离开本栖湖，在新富士站再次经过那个熟悉的小食堂，我仿佛已经不再是每天赶路的旅人，而是真正体验了露营生活的自由和松弛。只是，下次再来，我一定会看清新干线的站牌。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/e6203deaa91fe300c0266126ced8ff0.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;如果你和我一样，是《摇曳露营》的粉丝，或者只是想在富士山下度过一个不被打扰的夜晚，推荐试试浩庵露营场。多给自己留点时间，也许迷路和错过，才是旅行里，最珍贵的回忆。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/1a48290f55f1d69b3945de72443253e.jpg&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>崇礼滑雪</title>
                <link>https://blog.xlclan.com/posts/%E5%B4%87%E7%A4%BC%E6%BB%91%E9%9B%AA/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%B4%87%E7%A4%BC%E6%BB%91%E9%9B%AA/</guid>
                <pubDate>Mon, 06 Jan 2025 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/a3c65dfc0c32e69ec4801864918cf56.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/0d058d476e84a67fb5407556f66d4a8.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/5ff382bc4426af8c5169545629be460.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/2bb2a887fde2485263d8d3d1aad3ae0.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/030707cf46b13b84c737fb93c93e6c4.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/5d1c6839d2a0330cf5a46d1206998c1.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/e9b76c6c2f2c8cd943012290b489ef1.jpg&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%BB%91%E9%9B%AA/">滑雪</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>泉州行</title>
                <link>https://blog.xlclan.com/posts/%E6%B3%89%E5%B7%9E%E8%A1%8C/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E6%B3%89%E5%B7%9E%E8%A1%8C/</guid>
                <pubDate>Wed, 18 Sep 2024 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101155323.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101155405.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101155357.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101155427.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101155448.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101155509.jpg&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>临安行</title>
                <link>https://blog.xlclan.com/posts/%E4%B8%B4%E5%AE%89%E8%A1%8C/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E4%B8%B4%E5%AE%89%E8%A1%8C/</guid>
                <pubDate>Mon, 26 Feb 2024 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;day-one&#34;&gt;Day One&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101140244.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101140327.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101140317.jpg&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;day-two&#34;&gt;Day Two&lt;/h1&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101140252.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101140236.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101140206.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101140157.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101140145.jpg&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%BB%91%E9%9B%AA/">滑雪</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>优化 PalWorld 专用服务器运行性能</title>
                <link>https://blog.xlclan.com/posts/%E4%BC%98%E5%8C%96-palworld-%E4%B8%93%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E8%A1%8C%E6%80%A7%E8%83%BD/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E4%BC%98%E5%8C%96-palworld-%E4%B8%93%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E8%A1%8C%E6%80%A7%E8%83%BD/</guid>
                <pubDate>Thu, 25 Jan 2024 17:30:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;问题&#34;&gt;问题&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;PalWorld最近受到大量玩家的欢迎，但是由于其专用服务端内存溢出、CPU高占用等问题导致运行成本较高，本教程将解决此问题。&lt;strong&gt;本方法创作者为：&lt;a href=&#34;https://blog.binklac.com/&#34;&gt;VeroFess&lt;/a&gt;&lt;/strong&gt;。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;操作方法&#34;&gt;操作方法&lt;/h1&gt;
&lt;h2 id=&#34;linux&#34;&gt;Linux&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;下载补丁程序，下载地址:&lt;a href=&#34;https://github.com/VeroFess/PalWorld-Server-Unoffical-Fix/releases&#34;&gt;files.binklac.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;将其复制到&lt;code&gt;/YourGamePath/PalServer/Pal/Binaries/Linux&lt;/code&gt; 路径下。&lt;/li&gt;
&lt;li&gt;将原有的&lt;code&gt;PalServer-Linux-Test&lt;/code&gt;备份并用&lt;code&gt;PalServer-Linux-Test-Patche-Update-2&lt;/code&gt;改名替换为&lt;code&gt;PalServer-Linux-Test&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;最后启动服务端即可，将降低50%的内存占用。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;windows&#34;&gt;Windows&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;下载补丁程序，下载地址:&lt;a href=&#34;https://github.com/VeroFess/PalWorld-Server-Unoffical-Fix/releases&#34;&gt;files.binklac.com&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;将其复制到&lt;code&gt;\YourGamePath\PalServer\Pal\Binaries\Win64&lt;/code&gt; 路径下。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;将原有的&lt;code&gt;PalServer-Win64-Test-Cmd.exe&lt;/code&gt;备份并用&lt;code&gt;PalServer-Win64-Test-Cmd-Patch-Update-1.exe&lt;/code&gt;改名替换为&lt;code&gt;PalServer-Win64-Test-Cmd.exe&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;最后启动服务端即可。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/">性能优化</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/palworld/">PalWorld</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E5%86%85%E5%AD%98/">内存</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>CoreDNS的安装教程</title>
                <link>https://blog.xlclan.com/posts/coredns%E7%9A%84%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/coredns%E7%9A%84%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/</guid>
                <pubDate>Tue, 12 Dec 2023 20:00:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;CoreDNS是一个灵活、可扩展的开源DNS服务器，它支持多种协议和后端存储，使其成为构建现代、可定制的DNS基础设施的理想选择。本文将介绍如何安装和配置CoreDNS，以便你可以快速搭建一个强大而稳定的DNS服务。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;下载 CoreDNS 并将二进制文件放置到bin文件夹，这里我们以1.11.1为例，下载链接：&lt;a href=&#34;https://github.com/coredns/coredns/releases&#34;&gt;Github&lt;/a&gt;&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;wget https://github.com/coredns/coredns/releases/download/v1.11.1/coredns_1.11.1_linux_amd64.tgz

tar -xvf coredns_1.11.1_linux_amd64.tgz

cd coredns_1.11.1_linux_amd64

cp coredns /usr/bin/coredns
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;创建启动文件&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vi /etc/systemd/system/coredns.service
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输入以下内容：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Unit]
Description=CoreDNS DNS server
Documentation=https://coredns.io
After=network.target

[Service]
PermissionsStartOnly=true
LimitNOFILE=1048576
LimitNPROC=512
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
NoNewPrivileges=true
User=root
WorkingDirectory=~
ExecStart=/usr/bin/coredns -conf=/etc/coredns/Corefile
ExecReload=/bin/kill -SIGUSR1 
Restart=on-failure

[Install]
WantedBy=multi-user.target
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;保存完成后重载 systemd 配置：&lt;code&gt;systemctl daemon-reload&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;创建配置文件 Corefile&lt;/p&gt;
&lt;p&gt;首先创建文件夹用于存放配置文件&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mkdir /etc/coredns
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;新建配置文件&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vi /etc/coredns/Corefile
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这是一个简单的配置，它使用114的公共DNS服务器进行域名解析，并启用了一些基本的插件。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;. {
    errors
    log
    health
    ready
    forward . 114.114.114.114
    cache
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;保存文件&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;确保53端口未被占用&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;lsof -i:53
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;dnsmasq 占用53端口（Centos 7常见）
首先查看状态是否启用 systemctl status dnsmasq.service。
若启用，先kill -9 端口号，停掉 &lt;code&gt;systemctl stop dnsmasq.service&lt;/code&gt;，后禁止开机启动 &lt;code&gt;systemctl disable dnsmasq.service&lt;/code&gt;。
禁用后重启服务器测试，确保服务不会再起来。&lt;/p&gt;
&lt;p&gt;systemd-resolved 占用53端口（Ubuntu Server常见）
首先修改 /etc/systemd/resolved.conf,内容如下:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Resolve]
DNS=114.114.114.114
DNSStubListener=no
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;DNS 是配置本机指向的DNS服务器，建议配置运营商或者公共DNS。
DNSStubListener=no 是指不监听53端口。
配置完成后执行命令重启系统服务：
&lt;code&gt;sudo systemctl daemon-reload&lt;/code&gt;
&lt;code&gt;sudo systemctl restart systemd-resolved&lt;/code&gt;
查看/etc/resolv.conf 软链位置，执行命令 &lt;code&gt;ll /etc/resolv.conf&lt;/code&gt;，如果软链显示如下，则不需要改动: &lt;code&gt;/etc/resolv.conf -&amp;gt; /run/systemd/resolve/resolv.conf&lt;/code&gt;，否则设置软链 &lt;code&gt;sudo ln -s -f /run/systemd/resolve/resolv.conf /etc/resolv.conf&lt;/code&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;设置开机自启动并启动 CoreDNS&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl enable coredns
systemctl start coredns
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;三faq&#34;&gt;三、FAQ&lt;/h1&gt;
&lt;p&gt;问题1：配置后依旧无法访问怎么办？
回答1：检查 CoreDNS是否监听53端口，如果正常，请检查防火墙是否允许访问53端口。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/linux/">Linux</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/dns/">DNS</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/coredns/">CoreDNS</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>如何为远程桌面会话主机配置许可证？</title>
                <link>https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E4%B8%BA%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E4%BC%9A%E8%AF%9D%E4%B8%BB%E6%9C%BA%E9%85%8D%E7%BD%AE%E8%AE%B8%E5%8F%AF%E8%AF%81/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E4%B8%BA%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E4%BC%9A%E8%AF%9D%E4%B8%BB%E6%9C%BA%E9%85%8D%E7%BD%AE%E8%AE%B8%E5%8F%AF%E8%AF%81/</guid>
                <pubDate>Wed, 25 Oct 2023 21:00:00 &#43;0800</pubDate>
                
                
                
                    <description>&lt;blockquote&gt;
&lt;p&gt;文章来源：&lt;a href=&#34;https://learn.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/rds-license-session-hosts&#34;&gt;为远程桌面会话主机提供许可证&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;必备条件&#34;&gt;必备条件&lt;/h1&gt;
&lt;p&gt;要为会话主机安装许可证，需要一个激活了每用户或每设备客户端访问许可证 (CAL) 的远程桌面许可证服务器。&lt;/p&gt;
&lt;h1 id=&#34;为包含-rd-连接代理角色的-rds-部署配置许可&#34;&gt;为包含 RD 连接代理角色的 RDS 部署配置许可&lt;/h1&gt;
&lt;p&gt;如果需要为 RDS 部署不包含连接代理角色的会话主机提供许可，则需要使用组策略从 Active Directory 域集中指定许可证服务器，或者在每个会话主机上本地指定许可证服务器。 将 Windows Server 与 Azure 虚拟桌面配合使用时，还需要指定许可证服务器。&lt;/p&gt;
&lt;p&gt;指定许可证服务器：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;在 RD 连接代理计算机上，打开服务器管理器。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在服务器管理器中，选择“远程桌面服务”&amp;gt;“概述”&amp;gt;“编辑部署属性”&amp;gt;“RD 许可”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;选择远程桌面授权模式（根据部署选择“每用户”或“每设备”）。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;如果将已加入域的服务器用于 RDS 部署，则可以同时使用“每用户”和“每设备”CAL。 如果将工作组服务器用于 RDS 部署，则必须使用每设备 CAL。在这种情况下，不允许使用每用户 CAL。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;指定许可证服务器，然后选择“添加”。&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;为仅包含-rd-会话主机角色和-rd-授权角色的-rds-部署配置许可&#34;&gt;为仅包含 RD 会话主机角色和 RD 授权角色的 RDS 部署配置许可&lt;/h1&gt;
&lt;p&gt;根据是要从域中以集中方式配置组策略还是要在每个会话主机上本地配置组策略，执行以下操作：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;打开“组策略管理控制台”(GPMC) 并创建或编辑针对会话主机的策略。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在会话主机上打开“本地组策略编辑器”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;转到“计算机配置”&amp;gt;“管理模板”&amp;gt;“Windows 组件”&amp;gt;“远程桌面服务”&amp;gt;“远程桌面会话主机”&amp;gt;“许可”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在策略列表中，右键单击“使用指定的远程桌面许可证服务器”，然后选择“属性”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;选择“已启用”，然后在“要使用的许可证服务器”下输入许可证服务器的名称。 如果有多个许可证服务器，请使用逗号分隔其名称。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;选择“确定”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在策略列表中，右键单击“设置远程桌面授权模式”，然后选择“属性”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;选择“启用”。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在“为远程桌面会话主机服务器指定授权模式”下，根据部署选择“每设备”或“每用户”。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/windows/">Windows</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/rds/">RDS</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>通过 GitLab CI/CD 自动更新版本号发布</title>
                <link>https://blog.xlclan.com/posts/%E9%80%9A%E8%BF%87-gitlab-cicd-%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0%E7%89%88%E6%9C%AC%E5%8F%B7%E5%8F%91%E5%B8%83/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E9%80%9A%E8%BF%87-gitlab-cicd-%E8%87%AA%E5%8A%A8%E6%9B%B4%E6%96%B0%E7%89%88%E6%9C%AC%E5%8F%B7%E5%8F%91%E5%B8%83/</guid>
                <pubDate>Fri, 29 Sep 2023 14:00:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;GitLab CI/CD 是一个基于 GitLab 的持续集成和持续交付的服务，它可以帮助开发者在每次提交代码后自动执行一系列的任务，例如编译、测试、打包和部署。本文将介绍如何使用 GitLab CI/CD 自动递增版本号并 push 到仓库，以摆脱手动更新版本号的烦恼。&lt;/p&gt;
&lt;h2 id=&#34;先决条件&#34;&gt;先决条件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;拥有一个 GitLab 账号，并创建或导入一个项目&lt;/li&gt;
&lt;li&gt;在项目根目录下创建一个 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件，用于定义 GitLab CI/CD 的配置&lt;/li&gt;
&lt;li&gt;GitLab Runner 已经安装并注册到 GitLab 服务器，运行 GitLab Runner 的机器中需要安装 jq 工具。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;如何配置-gitlab-cicd&#34;&gt;如何配置 Gitlab CI/CD&lt;/h2&gt;
&lt;p&gt;要使用 Gitlab CI/CD 自动递增版本号并 push 到仓库，我们需要做以下几个步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在项目根目录下创建一个 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件，这是一个声明式的文件，用于定义 Gitlab CI/CD 的流程和任务。&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件中定义一个 &lt;code&gt;deploy&lt;/code&gt; 阶段，用于执行更新版本号的操作。&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;deploy&lt;/code&gt; 阶段中使用 &lt;code&gt;jq&lt;/code&gt; 命令行工具来操作变更版本号。&lt;/li&gt;
&lt;li&gt;在项目设置中开启 Gitlab CI/CD，并添加相应的环境变量。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这里我们假设项目已经有了版本号，并且存放在&lt;code&gt;package.json&lt;/code&gt;文件中。如果没有，请根据自己的项目情况进行调整。&lt;/p&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;{
  &amp;#34;name&amp;#34;: &amp;#34;my-app&amp;#34;,
  &amp;#34;version&amp;#34;: &amp;#34;1.0.0&amp;#34;,
  // 其他字段
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;另外，我们还需要在项目设置中添加以下环境变量：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;GitLab_Access_Tokens&lt;/code&gt;: 在项目设置 -&amp;gt; Access Tokens 中创建一个 Access Token，并将其值赋给这个环境变量。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些环境变量可以在项目设置 -&amp;gt; CI/CD -&amp;gt; Variables 中添加，并且可以选择是否保护或者掩藏。&lt;/p&gt;
&lt;p&gt;下面是一个示例的 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;stages:
  - deploy

master-deploy:
  stage: deploy
  only:
    - master # 只有master更新的时候才执行命令
  except:
    - /^Increment version number to/ # 避免触发以 &amp;#34;Increment version number to&amp;#34; 开头的提交
  script: # 执行的命令
    - chmod +x ./version_update.sh # 赋予脚本执行权限
    - ./version_update.sh # 运行自动更新版本号脚本
  
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;下面是一个示例的 &lt;code&gt;version_update.sh&lt;/code&gt; 文件：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#!/bin/bash

# 从 package.json 中提取当前版本号
current_version=$(jq -r &amp;#39;.version&amp;#39; package.json)

# 分割版本号
IFS=&amp;#39;.&amp;#39; read -ra version_parts &amp;lt;&amp;lt;&amp;lt; &amp;#34;$current_version&amp;#34;

# 递增修订号
((version_parts[2]++))

# 重新构建新版本号
new_version=&amp;#34;${version_parts[0]}.${version_parts[1]}.${version_parts[2]}&amp;#34;

# 更新 package.json 中的版本号
jq &amp;#34;.version = \&amp;#34;$new_version\&amp;#34;&amp;#34; package.json &amp;gt; temp.json
mv temp.json package.json

# 提交版本号更新
git config user.name &amp;#34;your-name&amp;#34;
git config user.email &amp;#34;your-email&amp;#34;
git remote add gitlab_origin https://oauth2:$GitLab_Access_Tokens@your-gitlab-host.com/your-username/your-repo.git
git add package.json
git commit -m &amp;#34;Increment version number to $new_version&amp;#34;
git push gitlab_origin HEAD:master -o ci.skip
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;如何验证结果&#34;&gt;如何验证结果&lt;/h2&gt;
&lt;p&gt;当我们提交代码后，Gitlab CI/CD 就会自动触发并执行 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件中定义的任务。我们可以在项目页面 -&amp;gt; CI/CD -&amp;gt; Pipelines 中查看流程的状态和日志。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ci/cd/">CI/CD</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/gitlab/">GitLab</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>港澳之旅</title>
                <link>https://blog.xlclan.com/posts/%E6%B8%AF%E6%BE%B3%E4%B9%8B%E6%97%85/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E6%B8%AF%E6%BE%B3%E4%B9%8B%E6%97%85/</guid>
                <pubDate>Mon, 25 Sep 2023 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;day-one&#34;&gt;Day One&lt;/h1&gt;
&lt;p&gt;&lt;img alt=&#34;没什么车的港珠澳大桥&#34; src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF3891.JPG&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF3912.JPG&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF3925.JPG&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF3939.JPG&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;宝藏小店的一角&#34; src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF3941.JPG&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;好看的烟火&#34; src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101112933.jpg&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;day-two&#34;&gt;Day Two&lt;/h1&gt;
&lt;p&gt;&lt;img alt=&#34;消逝的霓虹灯&#34; src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF4566.JPG&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E5%9B%BE%E7%89%87_20250101113741.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF4629.JPG&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF4666.JPG&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;叮叮车&#34; src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF4721.JPG&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/DSCF4710.JPG&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>配置 sudo 免密登录</title>
                <link>https://blog.xlclan.com/posts/%E9%85%8D%E7%BD%AE-sudo-%E5%85%8D%E5%AF%86%E7%99%BB%E5%BD%95/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E9%85%8D%E7%BD%AE-sudo-%E5%85%8D%E5%AF%86%E7%99%BB%E5%BD%95/</guid>
                <pubDate>Wed, 30 Aug 2023 08:00:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;当前用户不是 root 时，有些操作会因为权限不够而被拒绝，需要 sudo 才可以完成。但是每次 sudo 都需要输入密码，通过本文的操作可以让 sudo 不需要验证密码。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;修改sudoers文件&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在/etc/sudoers文件中加入如下语句&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#编辑/etc/sudoers文件
vi /etc/sudoers

#添加以下语句至文件最后一行
Username ALL=(ALL) NOPASSWD:ALL
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;保存退出后即可实现免密登录。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/linux/">Linux</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ssh/">SSH</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>使用 Collectd 和 InfluxDB 监控服务器延迟</title>
                <link>https://blog.xlclan.com/posts/%E4%BD%BF%E7%94%A8-collectd-%E5%92%8C-influxdb-%E7%9B%91%E6%8E%A7%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BB%B6%E8%BF%9F/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E4%BD%BF%E7%94%A8-collectd-%E5%92%8C-influxdb-%E7%9B%91%E6%8E%A7%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%BB%B6%E8%BF%9F/</guid>
                <pubDate>Mon, 28 Aug 2023 08:30:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;通过配置 Collectd 定期 Ping 实现监控目标服务器延迟状态并存储在 InfluxDB 中。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;配置 Collectd&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在大多数主流版本中 Collectd 都有自己的预编译包，因此 Ubuntu 可以直接安装：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get install collectd
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;简单修改一下 Collectd 的配置 /etc/collectd/collectd.conf&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;-#LoadPlugin network
+LoadPlugin network
+&amp;lt;Plugin network&amp;gt;
# 配置 InfluxDB 服务器地址和端口
+        Server &amp;#34;127.0.0.1&amp;#34; &amp;#34;25826&amp;#34;
+&amp;lt;/Plugin&amp;gt;
+&amp;lt;Plugin &amp;#34;ping&amp;#34;&amp;gt;
# 配置需要检测的服务器
+  Host &amp;#34;example.com&amp;#34;
+&amp;lt;/Plugin&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;通过这个设置，Collectd 会将数据通过 localhost:25826 通信，同时利用 ping plugin 就可以实现对服务器延迟的监控，多个服务器通过多条 Host “domain” 即可实现。&lt;/p&gt;
&lt;p&gt;最后开启 Collectd&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl start collectd
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;配置 InfluxDB&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;InfluxDB 的安装也很简单：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt-get install -y apt-transport-https
curl -sL https://repos.influxdata.com/influxdb.key | apt-key add -
source /etc/lsb-release
echo &amp;#34;deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable&amp;#34; | tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install influxdb
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;安装完成后需要启用 InfluxDB 对 Collectd 的支持：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[[collectd]]
enabled = true
bind-address = &amp;#34;127.0.0.1:25826&amp;#34;
database = &amp;#34;collectd&amp;#34;
retention-policy = &amp;#34;&amp;#34;
typesdb = &amp;#34;/usr/local/share/collectd/types.db&amp;#34;
batch-size = 5000
batch-pending = 10
batch-timeout = &amp;#34;10s&amp;#34;
read-buffer = 0
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;此时 InfluxDB 仍然缺少 typesdb，我们直接通过如下命令下载：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mkdir /usr/local/share/collectd
wget -P /usr/local/share/collectd https://raw.githubusercontent.com/collectd/collectd/master/src/types.db
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;最后开启 InfluxDB&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl start influxdb
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;创建一个数据库:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;curl -i -XPOST http://localhost:8086/query -u collectd:qazxcdawfw45 --data-urlencode &amp;#34;q=CREATE DATABASE collectd&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;最后根据需求接入 Grafana 即可。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/linux/">Linux</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/collectd/">Collectd</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/influxdb/">InfluxDB</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>macOS 部署 Intune 应用时提示安装失败</title>
                <link>https://blog.xlclan.com/posts/mac-os-%E9%83%A8%E7%BD%B2-intune-%E5%BA%94%E7%94%A8%E6%97%B6%E6%8F%90%E7%A4%BA%E5%AE%89%E8%A3%85%E5%A4%B1%E8%B4%A5/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/mac-os-%E9%83%A8%E7%BD%B2-intune-%E5%BA%94%E7%94%A8%E6%97%B6%E6%8F%90%E7%A4%BA%E5%AE%89%E8%A3%85%E5%A4%B1%E8%B4%A5/</guid>
                <pubDate>Fri, 25 Aug 2023 20:00:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一故障现象&#34;&gt;一、故障现象&lt;/h1&gt;
&lt;p&gt;运行 Intune 应用安装包并同意安装后在安装过程中结束并提示以下信息：
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20230825201225.png&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;二排查问题&#34;&gt;二、排查问题&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;打开终端并输入 &lt;code&gt;cat /var/log/install.log&lt;/code&gt; ，通过这个命令我们可以查看到安装过程中的日志信息。通过日志信息反馈是由于安装器应用无权限导致。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;2023-08-25 19:57:45+08 Hostname Installer[10831]: install:didFailWithError:Error Domain=PKInstallErrorDomain Code=110 &amp;#34;提取软件包“CompanyPortal-Installer.pkg”的文件时出错。&amp;#34; UserInfo={NSUnderlyingError=0x600000ff4b40 {Error Domain=PKXARArchiveErrorDomain Code=101 &amp;#34;archive open failed&amp;#34; UserInfo={NSURL=file:///Users/username/Desktop/CompanyPortal-Installer.pkg, NSFileOwnerAccountID=501, NSFileHFSTypeCode=0, NSFileSystemFileNumber=71266333, NSFileExtensionHidden=false, NSFileSystemNumber=16777229, NSFileSize=24795960, NSFileGroupOwnerAccountID=20, NSFileHFSCreatorCode=0, NSFileOwnerAccountName=username, NSFilePosixPermissions=448, NSFileCreationDate=2022-09-28 11:02:21 +0000, NSFileType=NSFileTypeRegular, NSFileProtectionKey=NSFileProtectionCompleteUntilFirstUserAuthentication, NSFileGroupOwnerAccountName=staff, NSFileReferenceCount=1, NSFileModificationDate=2022-09-28 11:03:33 +0000, NSLocalizedDescription=archive open failed}}, NSURL=file:///Users/username/Desktop/CompanyPortal-Installer.pkg#Office16_all_autoupdate.pkg, PKInstallPackageIdentifier=com.microsoft.package.Microsoft_AutoUpdate.app, NSLocalizedDescription=提取软件包“CompanyPortal-Installer.pkg”的文件时出错。}
2023-08-25 19:57:45+08 Hostname installd[5240]: PackageKit: Removing client PKInstallDaemonClient pid=10831, uid=501 (/System/Library/CoreServices/Installer.app/Contents/MacOS/Installer)
2023-08-25 19:57:45+08 Hostname Installer[10831]: Install failed: 安装器遇到了一个错误，导致安装失败。请联系软件生产企业以获得帮助。
2023-08-25 19:57:45+08 Hostname Installer[10831]: IFDInstallController 1DB540 state = 8
2023-08-25 19:57:45+08 Hostname Installer[10831]: Displaying &amp;#39;Install Failed&amp;#39; UI.
2023-08-25 19:57:45+08 Hostname Installer[10831]: &amp;#39;Install Failed&amp;#39; UI displayed message:&amp;#39;安装器遇到了一个错误，导致安装失败。请联系软件生产企业以获得帮助。&amp;#39;.
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;三解决方法&#34;&gt;三、解决方法&lt;/h1&gt;
&lt;p&gt;打开安装器的完全磁盘访问权限即可。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20230825202449.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20230825202636.png&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/intune/">Intune</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/macos/">MacOS</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>如何定时备份 GitLab Docker 的数据</title>
                <link>https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E5%AE%9A%E6%97%B6%E5%A4%87%E4%BB%BD-gitlab-docker-%E7%9A%84%E6%95%B0%E6%8D%AE/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E5%AE%9A%E6%97%B6%E5%A4%87%E4%BB%BD-gitlab-docker-%E7%9A%84%E6%95%B0%E6%8D%AE/</guid>
                <pubDate>Thu, 17 Aug 2023 08:00:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;blockquote&gt;
&lt;p&gt;GitLab 是一个非常受欢迎的源代码管理平台，许多开发团队都使用它来存储和管理他们的项目。为了保护重要的代码和数据，定期备份是至关重要的。本教程将向您展示如何设置自动定时备份 GitLab Docker 中的数据。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;一创建-gitlab-数据备份脚本&#34;&gt;一、创建 GitLab 数据备份脚本&lt;/h1&gt;
&lt;p&gt;创建一个新的 shell 脚本文件，用于执行 GitLab 数据备份操作。以下是一个示例备份脚本的内容：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;bash
#!/bin/bash

# 备份 GitLab 数据，您需要替换 &amp;lt;gitlab_container_name&amp;gt; 为您的 GitLab Docker 容器的名称。
docker exec &amp;lt;gitlab_container_name&amp;gt; gitlab-ce gitlab-rake gitlab:backup:create
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;二设置定时任务&#34;&gt;二、设置定时任务&lt;/h1&gt;
&lt;p&gt;使用 cron 或类似的工具，您可以设置定期执行备份脚本的任务。以下是一个 cron 示例：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;0 0 * * * /bin/bash /path/to/backup/script.sh
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;上述 cron 表达式表示在每天的午夜零点执行备份脚本。您可以根据需要进行调整。&lt;/p&gt;
&lt;p&gt;备份文件会被存放在/var/opt/gitlab/backups/中。&lt;/p&gt;
&lt;p&gt;通过设置定时任务，您可以确保您的 GitLab 数据得到及时、可靠的备份，以防止意外数据丢失。记得定期检查备份文件以确保备份成功，并根据需要进行恢复。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/gitlab/">GitLab</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E5%A4%87%E4%BB%BD/">备份</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/docker/">Docker</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>卸载卡巴斯基导致USB被禁用解决方法</title>
                <link>https://blog.xlclan.com/posts/%E5%8D%B8%E8%BD%BD%E5%8D%A1%E5%B7%B4%E6%96%AF%E5%9F%BA%E5%90%8Eusb%E8%A2%AB%E7%A6%81%E7%94%A8%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%8D%B8%E8%BD%BD%E5%8D%A1%E5%B7%B4%E6%96%AF%E5%9F%BA%E5%90%8Eusb%E8%A2%AB%E7%A6%81%E7%94%A8%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</guid>
                <pubDate>Sat, 12 Aug 2023 00:00:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一故障现象&#34;&gt;一、故障现象&lt;/h1&gt;
&lt;p&gt;卸载卡巴斯基并重启电脑后，所有USB接口均无法使用，包括鼠标键盘接入均无响应。&lt;/p&gt;
&lt;h1 id=&#34;二解决方法&#34;&gt;二、解决方法&lt;/h1&gt;
&lt;h3 id=&#34;1-准备恢复工具镜像&#34;&gt;1. 准备恢复工具镜像&lt;/h3&gt;
&lt;p&gt;1.1. 在一台正常的电脑中下载卡巴斯基救援镜像：&lt;a href=&#34;https://rescuedisk.s.kaspersky-labs.com/updatable/2018/krd.iso&#34;&gt;点击下载 Kaspersky Rescue Disk 18&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;1.2. 将卡巴斯基救援镜像通过&lt;a href=&#34;https://rufus.ie/&#34;&gt;Rufus&lt;/a&gt;、&lt;a href=&#34;https://www.ventoy.net/&#34;&gt;Ventoy&lt;/a&gt;或其他方式写入U盘或者移动硬盘。&lt;/p&gt;
&lt;h3 id=&#34;2-修复-usb-故障&#34;&gt;2. 修复 USB 故障&lt;/h3&gt;
&lt;p&gt;2.1. 将已经写入卡巴斯基救援镜像的设备接入出现问题的电脑并引导进入。&lt;/p&gt;
&lt;p&gt;2.2. 选择界面的语言，然后按 Enter。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202308120002967.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;2.3. 选择卡巴斯基救援磁盘模式：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kaspersky Rescue Disk. Graphic mode： (推荐)在此模式下，您可以通过图形用户界面使用卡巴斯基救援磁盘。&lt;/li&gt;
&lt;li&gt;Kaspersky Rescue Disk. Limited graphic mode：如果您在使用完整图形模式时遇到问题，再使用此模式。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202308120006352.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;2.4. 按 Enter 并等待加载。&lt;/p&gt;
&lt;p&gt;2.5. 如果提示 「Warning」 请点击 「Continue」 。&lt;/p&gt;
&lt;p&gt;2.6. 接下来需要同意用户协议和隐私策略，勾选并同意即可
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202308120012577.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;2.7. 在打开的 Kaspersky Rescue Tool 窗口中点击 「Tools」。（如果未弹出请手动点击桌面上的Kaspersky Rescue Tool图标启动。）
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202308120017260.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;2.8. 点击「USB Recover」
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202308120020607.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;2.9. 点击「Start scan」
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202308120021523.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;2.10. 点击「OK」
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202308120022702.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;2.11. 选择要导出注册表项文件的文件夹，如果出现问题可以从此文件恢复修改的数据。输入文件名并点击「Open」。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202308120025020.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;2.12. 扫描完成后，点击「Close」。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202308120026219.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;最后重启电脑，USB 设备正常工作。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/windows/">Windows</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/kaspersky/">Kaspersky</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>新版 Outlook 使用 Exchange 协议连接腾讯企业邮箱</title>
                <link>https://blog.xlclan.com/posts/%E6%96%B0%E7%89%88-outlook-%E4%BD%BF%E7%94%A8-exchange-%E5%8D%8F%E8%AE%AE%E8%BF%9E%E6%8E%A5%E8%85%BE%E8%AE%AF%E4%BC%81%E4%B8%9A%E9%82%AE%E7%AE%B1/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E6%96%B0%E7%89%88-outlook-%E4%BD%BF%E7%94%A8-exchange-%E5%8D%8F%E8%AE%AE%E8%BF%9E%E6%8E%A5%E8%85%BE%E8%AE%AF%E4%BC%81%E4%B8%9A%E9%82%AE%E7%AE%B1/</guid>
                <pubDate>Tue, 06 Jun 2023 09:50:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一背景&#34;&gt;一、背景&lt;/h1&gt;
&lt;p&gt;在 Windows 上最新版本 Outlook 中添加腾讯企业邮箱时会碰到 Outlook 搜索不到正确的服务器地址问题，无论是 POP、IMAP 还是 Exchange 协议均识别错误。&lt;/p&gt;
&lt;h1 id=&#34;二解决方法&#34;&gt;二、解决方法&lt;/h1&gt;
&lt;h3 id=&#34;1-进入控制面板搜索-mail&#34;&gt;1. 进入控制面板，搜索 Mail&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202306061110452.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;2-进入电子邮件账户&#34;&gt;2. 进入电子邮件账户&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202306061111824.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;3-点击新建并选择手动设置或其他服务器类型然后下一页&#34;&gt;3. 点击新建并选择手动设置或其他服务器类型然后下一页&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202306061113809.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;4-选择-exchange-activesync&#34;&gt;4. 选择 Exchange Activesync&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202306061114162.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;5-最后依次填入你的姓名电子邮件地址密码等信息邮件服务器填入-exexmailqqcom点下一步就配置完成了&#34;&gt;5. 最后依次填入你的姓名、电子邮件地址、密码等信息，邮件服务器填入 ex.exmail.qq.com，点下一步，就配置完成了。&lt;/h3&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/202306061117116.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;6-最后打开-outlook-客户端即可收发邮件&#34;&gt;6. 最后打开 Outlook 客户端即可收发邮件。&lt;/h3&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/outlook/">Outlook</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E9%82%AE%E7%AE%B1/">邮箱</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/exchange/">Exchange</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>群晖添加 LDAP 用户后无法登录排查文档</title>
                <link>https://blog.xlclan.com/posts/%E7%BE%A4%E6%99%96%E6%B7%BB%E5%8A%A0ldap%E7%94%A8%E6%88%B7%E5%90%8E%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95%E6%8E%92%E6%9F%A5%E6%96%87%E6%A1%A3/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E7%BE%A4%E6%99%96%E6%B7%BB%E5%8A%A0ldap%E7%94%A8%E6%88%B7%E5%90%8E%E6%97%A0%E6%B3%95%E7%99%BB%E5%BD%95%E6%8E%92%E6%9F%A5%E6%96%87%E6%A1%A3/</guid>
                <pubDate>Sun, 21 May 2023 09:50:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一故障现象&#34;&gt;一、故障现象&lt;/h1&gt;
&lt;p&gt;添加用户后无法登录，提示用户名或密码错误。&lt;/p&gt;
&lt;h1 id=&#34;二排查方法&#34;&gt;二、排查方法&lt;/h1&gt;
&lt;h3 id=&#34;1-检查-ldap-server-内添加的用户是否已经同步至群晖&#34;&gt;1. 检查 LDAP Server 内添加的用户是否已经同步至群晖&lt;/h3&gt;
&lt;p&gt;1.1. 进入控制面板 &amp;gt; 域/LDAP &amp;gt; LDAP 用户&lt;/p&gt;
&lt;p&gt;1.2. 查看是否有添加的用户，如果没有点击同步按钮即可。&lt;/p&gt;
&lt;h3 id=&#34;2-检查密码复杂度是否符合要求&#34;&gt;2. 检查密码复杂度是否符合要求&lt;/h3&gt;
&lt;p&gt;需要密码满足以下条件，如果不满足请修改：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大小写字母数字字符混合&lt;/li&gt;
&lt;li&gt;12位以上&lt;/li&gt;
&lt;li&gt;不包含用户名&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;3-因多次登录失败导致ip账户被禁用&#34;&gt;3. 因多次登录失败导致IP/账户被禁用&lt;/h3&gt;
&lt;p&gt;1.1. 进入控制面板 &amp;gt; 安全 &amp;gt; 账户&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20230521220635.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;1.2. 检查允许/封锁名单确认封锁名单中没有用户IP，如果有请删除。&lt;/p&gt;
&lt;p&gt;1.3. 检查管理被保护的账户中是否有此用户账户，如果有请删除。&lt;/p&gt;
&lt;p&gt;待续...&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/synology/">Synology</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ladp/">LADP</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>如何修改 Docker 的虚拟网络网段？</title>
                <link>https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E4%BF%AE%E6%94%B9-docker-%E7%9A%84%E8%99%9A%E6%8B%9F%E7%BD%91%E7%BB%9C%E7%BD%91%E6%AE%B5/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E4%BF%AE%E6%94%B9-docker-%E7%9A%84%E8%99%9A%E6%8B%9F%E7%BD%91%E7%BB%9C%E7%BD%91%E6%AE%B5/</guid>
                <pubDate>Thu, 13 Apr 2023 14:00:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;blockquote&gt;
&lt;p&gt;Docker是一种流行的容器技术，它可以让开发者和运维人员在不同的环境中部署和运行应用程序。Docker使用虚拟网络来连接容器和主机，以及容器之间。默认情况下，Docker会创建一个名为bridge的虚拟网络，它使用172.17.0.0/16的网段，也就是说，容器的IP地址范围是从172.17.0.1到172.17.255.254。这个网段可能会和主机或其他网络设备的IP地址冲突，导致网络通信出现问题。因此，有时候我们需要修改Docker的虚拟网络网段，以避免IP地址冲突。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;操作方法&#34;&gt;操作方法&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;停止所有正在运行的容器，并且停止Docker服务。可以使用下面的命令：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker stop &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;docker ps -aq&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl stop docker
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;编辑Docker的配置文件/etc/docker/daemon.json，如果文件不存在，就创建一个。在文件中添加一个键值对，键为bip，值为我们想要使用的网段。例如，如果我们想要使用192.168.1.0/24的网段，我们可以添加如下内容：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;&amp;#34;bip&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;192.168.1.1/24&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;保存并关闭配置文件，并且重启Docker服务。可以使用下面的命令：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl start docker
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;检查bridge网络的信息，确认网段是否修改成功。可以使用下面的命令：&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker network inspect bridge
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果输出中显示了我们指定的网段和IP地址，说明修改成功。&lt;/p&gt;
&lt;p&gt;注意事项：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;修改虚拟网络网段会导致之前创建的容器失去网络连接，因此建议在修改前备份或删除容器。&lt;/li&gt;
&lt;li&gt;修改虚拟网络网段可能会影响其他自定义网络或端口映射的设置，因此建议在修改后检查并重新配置网络相关的选项。&lt;/li&gt;
&lt;li&gt;修改虚拟网络网段可能会和其他主机或网络设备的IP地址冲突，因此建议在修改前规划好IP地址分配，并且避免使用公共或保留的IP地址。&lt;/li&gt;
&lt;/ul&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/docker/">Docker</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/network/">Network</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ai/">AI</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>通过 GitLab CI/CD 发布文件至 MinIO</title>
                <link>https://blog.xlclan.com/posts/%E9%80%9A%E8%BF%87-gitlab-cicd-%E5%8F%91%E5%B8%83%E6%96%87%E4%BB%B6%E8%87%B3-minio/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E9%80%9A%E8%BF%87-gitlab-cicd-%E5%8F%91%E5%B8%83%E6%96%87%E4%BB%B6%E8%87%B3-minio/</guid>
                <pubDate>Thu, 16 Mar 2023 14:00:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;GitLab CI/CD 是一个基于 GitLab 的持续集成和持续交付的服务，它可以帮助开发者在每次提交代码后自动执行一系列的任务，例如编译、测试、打包和部署。MinIO 是一个高性能的对象存储服务，它可以提供与 Amazon S3 兼容的 API，并支持分布式、容错和加密等特性。本文将介绍如何使用 GitLab CI/CD 将生成的文件发布到 MinIO 上，以实现一个简单而高效的自动化流程。&lt;/p&gt;
&lt;h2 id=&#34;先决条件&#34;&gt;先决条件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;拥有一个 GitLab 账号，并创建或导入一个项目&lt;/li&gt;
&lt;li&gt;拥有一个 MinIO 账号，并创建或获取一个存储桶（Bucket）和访问密钥（Access Key 和 Secret Key）&lt;/li&gt;
&lt;li&gt;在项目根目录下创建一个 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件，用于定义 GitLab CI/CD 的配置&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;如何配置-gitlab-cicd&#34;&gt;如何配置 Gitlab CI/CD&lt;/h2&gt;
&lt;p&gt;要使用 Gitlab CI/CD 自动发布文件至 MinIO 对象存储，我们需要做以下几个步骤：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;在项目根目录下创建一个 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件，这是一个声明式的文件，用于定义 Gitlab CI/CD 的流程和任务。&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件中定义一个 &lt;code&gt;deploy&lt;/code&gt; 阶段，用于执行发布文件的操作。&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;deploy&lt;/code&gt; 阶段中使用 &lt;code&gt;mc&lt;/code&gt; 命令行工具或者其他 MinIO 客户端工具来上传文件至 MinIO 对象存储。&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;deploy&lt;/code&gt; 阶段中设置一些环境变量，如 MinIO 的地址、密钥、桶名等。&lt;/li&gt;
&lt;li&gt;在项目设置中开启 Gitlab CI/CD，并添加相应的环境变量。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这里我们假设项目已经有了构建脚本，并且生成了 &lt;code&gt;dist/&lt;/code&gt; 目录。如果没有，请根据自己的项目情况进行调整。&lt;/p&gt;
&lt;p&gt;另外，我们还需要在项目设置中添加以下三个环境变量：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;MINIO_URL&lt;/code&gt;: MinIO 的地址，如 http://localhost:9000&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MINIO_ACCESS_KEY&lt;/code&gt;: MinIO 的访问密钥&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MINIO_SECRET_KEY&lt;/code&gt;: MinIO 的访问密钥&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些环境变量可以在项目设置 -&amp;gt; CI/CD -&amp;gt; Variables 中添加，并且可以选择是否保护或者掩藏。&lt;/p&gt;
&lt;p&gt;下面是一个示例的 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;stages:
  - deploy

before_script:
  - curl https://dl.min.io/client/mc/release/linux-amd64/mc -o mc  # 下载并安装 MinIO 客户端
  - chmod +x mc  # 赋予可执行权限

master-deploy:
  stage: deploy
  only:
    - master # 只有master更新的时候才执行命令
  script: # 执行的命令
    - ./mc config host add minio $MINIO_URL $MINIO_ACCESS_KEY $MINIO_SECRET_KEY # 设置 MinIO 别名和认证信息
    - ./mc cp dist/ minio/&amp;lt;bucket-name&amp;gt;/&amp;lt;project-name&amp;gt;/ # 将 dist 目录下的所有文件复制到 MinIO 的指定存储桶和目录下
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这个文件定义了一个 &lt;code&gt;deploy&lt;/code&gt; 阶段&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;before_script&lt;/code&gt;下载并赋予了MinIO客户端可执行权限。&lt;/li&gt;
&lt;li&gt;然后执行的命令中第一条设置了 MinIO 的地址和密钥。&lt;/li&gt;
&lt;li&gt;第二条命令是将项目构建后生成的 &lt;code&gt;dist/&lt;/code&gt; 目录下的所有文件复制到 MinIO 的指定桶中。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;如何验证结果&#34;&gt;如何验证结果&lt;/h2&gt;
&lt;p&gt;当我们提交代码后，Gitlab CI/CD 就会自动触发并执行 &lt;code&gt;.gitlab-ci.yml&lt;/code&gt; 文件中定义的任务。我们可以在项目页面 -&amp;gt; CI/CD -&amp;gt; Pipelines 中查看流程的状态和日志。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ci/cd/">CI/CD</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/gitlab/">GitLab</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/minio/">MinIO</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8/">对象存储</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ai/">AI</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>【笔记】使用FFmpeg调用NVIDIA GPU压制视频</title>
                <link>https://blog.xlclan.com/posts/%E4%BD%BF%E7%94%A8ffmpeg%E8%B0%83%E7%94%A8nvidia-gpu%E5%8E%8B%E5%88%B6%E8%A7%86%E9%A2%91/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E4%BD%BF%E7%94%A8ffmpeg%E8%B0%83%E7%94%A8nvidia-gpu%E5%8E%8B%E5%88%B6%E8%A7%86%E9%A2%91/</guid>
                <pubDate>Mon, 27 Feb 2023 22:00:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一背景&#34;&gt;一、背景&lt;/h1&gt;
&lt;p&gt;最近需要高效的压制H.265视频，使用 FFmpeg 软件编解码速度较慢，想通过GPU加速压制过程。&lt;/p&gt;
&lt;h1 id=&#34;二环境部署&#34;&gt;二、环境部署&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;确保电脑显卡在此列表上：https://developer.nvidia.com/video-encode-and-decode-gpu-support-matrix-new&lt;/li&gt;
&lt;li&gt;下载并安装 CUDA Toolkit：https://developer.nvidia.com/cuda-downloads&lt;/li&gt;
&lt;li&gt;已下载最新版FFmpeg：https://ffmpeg.org/download.html&lt;/li&gt;
&lt;li&gt;执行命令查看所有可用的硬件加速器&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ffmpeg -hwaccels
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这里可以看到，我们需要的 CUDA 已经有了。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20230227202905.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;执行命令查看查看编解码器&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ffmpeg -codecs
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;h264_nvenc是H.264硬件编码器
hevc_nvenc是H.265硬件编码器&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20230227203522.png&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;三压制命令&#34;&gt;三、压制命令&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;部分硬件转码&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ffmpeg -i input.mp4 -c:v hevc_nvenc -crf 23 -c:a copy -vtag hvc1 output.mp4
# -i 后填写输入素材的路径
#输入素材为H.265视频，-c:v 使用对应解码器hevc_nvenc；
#CRF中的质量的范围可以是1.0 - 51.0。一般设置21-25之间就可以，此值越大码率越低。
#声音流这里直接copy了，未压制。
#输出视频为H.265。
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;全硬解码需要加上&lt;code&gt;-hwaccel cuda&lt;/code&gt;，实例：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ffmpeg -hwaccel cuda -i input.mp4 -c:v hevc_nvenc -crf 23 -c:a copy -vtag hvc1 output.mp4
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;待更新...&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E7%AC%94%E8%AE%B0/">笔记</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ffmpeg/">FFmpeg</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>如何解决 macOS 13 系统 ESC 键失灵</title>
                <link>https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3-macos-13-%E7%B3%BB%E7%BB%9F-esc-%E9%94%AE%E5%A4%B1%E7%81%B5-copy/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3-macos-13-%E7%B3%BB%E7%BB%9F-esc-%E9%94%AE%E5%A4%B1%E7%81%B5-copy/</guid>
                <pubDate>Fri, 17 Feb 2023 09:50:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一故障现象&#34;&gt;一、故障现象&lt;/h1&gt;
&lt;p&gt;有一些 macOS 用户会遇到ESC键突然失灵问题，外接键盘和屏幕软键盘均无响应。&lt;/p&gt;
&lt;h1 id=&#34;二解决方法&#34;&gt;二、解决方法&lt;/h1&gt;
&lt;h4 id=&#34;方法一&#34;&gt;方法一：&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;按command+空格搜索终端并运行。&lt;/li&gt;
&lt;li&gt;输入下列命令并回车即可。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;kill -9 $(pgrep Siri)
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;方法二&#34;&gt;方法二：&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;打开启动台，点击其他；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134410.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;在其他里，点击“活动监视器”；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134535.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;3、进入活动监视器窗口，在搜索框输入“siri”，会显示正在运行的siri程序；&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20230516155110.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;4、选中出现的siri程序，点击上方的“X”关闭。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20230516155246.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;5、会弹出退出输入法的提示窗口，点击“退出”按钮，即可解决。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20230516155335.png&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/macos/">MacOS</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>如何解决 macOS 13 系统频繁出现卡死问题</title>
                <link>https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3-macos-13-%E7%B3%BB%E7%BB%9F%E9%A2%91%E7%B9%81%E5%87%BA%E7%8E%B0%E5%8D%A1%E6%AD%BB%E9%97%AE%E9%A2%98/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3-macos-13-%E7%B3%BB%E7%BB%9F%E9%A2%91%E7%B9%81%E5%87%BA%E7%8E%B0%E5%8D%A1%E6%AD%BB%E9%97%AE%E9%A2%98/</guid>
                <pubDate>Tue, 17 Jan 2023 09:50:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一故障现象&#34;&gt;一、故障现象&lt;/h1&gt;
&lt;p&gt;升级 macOS Ventura 后反复出现应用程序卡死状态，点击各类应用均出现加载标志，响应非常慢。&lt;/p&gt;
&lt;h1 id=&#34;二解决方法&#34;&gt;二、解决方法&lt;/h1&gt;
&lt;p&gt;Update:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E6%B7%BB%E5%8A%A0%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1.zip&#34;&gt;下载一键运行脚本&lt;/a&gt;
下载解压并运行即可。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;1-临时缓解方法如下&#34;&gt;1. 临时缓解方法如下：&lt;/h3&gt;
&lt;h4 id=&#34;方法一&#34;&gt;方法一：&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;按command+空格搜索终端并运行。&lt;/li&gt;
&lt;li&gt;输入下列命令并回车即可。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;kill -9 $(pgrep SCIM)
&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;方法二&#34;&gt;方法二：&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;打开启动台，点击其他；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134410.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;在其他里，点击“活动监视器”；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134535.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;3、进入活动监视器窗口，在搜索框输入“输入”，会显示正在运行的输入法程序；&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134745.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;4、选中出现的输入法程序，点击上方的“X”关闭。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134838.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;5、会弹出退出输入法的提示窗口，点击“退出”按钮，即可解决。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134946.png&#34;&gt;&lt;/p&gt;
&lt;h3 id=&#34;2-定时自动执行&#34;&gt;2. 定时自动执行&lt;/h3&gt;
&lt;p&gt;一般来说卡顿时我们都来不及去执行相关命令既会卡死，所以我们使用定时任务执行以解决这个问题。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;按command+空格搜索终端并运行。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;输入下列命令并回车&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;crontab -e
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;按下字母 &lt;code&gt;i&lt;/code&gt; 后输入以下内容&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;0 */2 * * * kill -9 `pgrep SCIM`
0 */2 * * * kill -9 `pgrep Spotlight`
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;
&lt;p&gt;按下 &lt;code&gt;esc&lt;/code&gt; 后再输入 &lt;code&gt;:wq&lt;/code&gt; 并回车，这样就正确保存并退出了。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;我们可以输入 &lt;code&gt;crontab -l&lt;/code&gt; 查看是否正确保存了，如果正确保存了，之后每两个小时会自动执行重启输入法和搜索进程，避免卡死问题。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/macos/">MacOS</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>如何使用 UFW 来设置防火墙</title>
                <link>https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8-ufw-%E6%9D%A5%E8%AE%BE%E7%BD%AE%E9%98%B2%E7%81%AB%E5%A2%99/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8-ufw-%E6%9D%A5%E8%AE%BE%E7%BD%AE%E9%98%B2%E7%81%AB%E5%A2%99/</guid>
                <pubDate>Thu, 12 Jan 2023 10:53:14 &#43;0800</pubDate>
                
                
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Ubuntu 自带的防火墙配置工具被称为 UFW (Uncomplicated Firewall)。UFW 是一个用来管理 iptables 防火墙规则的用户友好的前端工具。它的主要目的就是为了使得管理 iptables 更简单。在 Ubuntu 20.04上使用 UFW 工具来配置和管理一个防火墙。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二安装-ufw&#34;&gt;二、安装 UFW&lt;/h1&gt;
&lt;p&gt;Ubuntu 20.04 一般情况下会预装UFW。如果因为某些原因，UFW没有被安装，你可以通过输入下面的命令安装它：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt update
sudo apt install ufw
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;三检查-ufw-的状态&#34;&gt;三、检查 UFW 的状态&lt;/h1&gt;
&lt;p&gt;安装过程不会自动激活防火墙，以避免服务器被锁住。你可以检查 UFW 的状态，输入：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw status verbose
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输出如下：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Status: inactive
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果 UFW 激活了，输入应该类似下面这样：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip

To                         Action      From
--                         ------      ----      
22                         ALLOW IN    Anywhere        
22 (v6)                    ALLOW IN    Anywhere (v6)
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;四ufw-默认策略&#34;&gt;四、UFW 默认策略&lt;/h1&gt;
&lt;p&gt;默认情况下，UFW 阻塞了所有进来的连接，并且允许所有出去的连接。这意味着任何人无法访问你的服务器，除非你打开端口。运行在服务器上的应用和服务可以访问外面的世界。&lt;/p&gt;
&lt;p&gt;默认的策略定义在&lt;code&gt;/etc/default/ufw&lt;/code&gt;文件中，并且可以通过使用&lt;code&gt;sudo ufw default &amp;lt;policy&amp;gt; &amp;lt;chain&amp;gt;&lt;/code&gt;命令来修改。&lt;/p&gt;
&lt;p&gt;防火墙策略是用来构建更多详细的和用户自定义的规则的基础。&lt;/p&gt;
&lt;h1 id=&#34;五应用配置&#34;&gt;五、应用配置&lt;/h1&gt;
&lt;p&gt;大部分应用都附带一份应用配置，它描述了服务，并且包含了 UFW 设置。这个规则在软件包安装的时候，被自动创建在&lt;code&gt;/etc/ufw/applications.d&lt;/code&gt;目录下。&lt;/p&gt;
&lt;p&gt;想要列举出你系统上所有的应用配置，输入：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw app list
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;与你系统上安装的软件包有关系，输出应该看起来像下面这样：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Available applications:
  OpenSSH
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;想要查找更多关于指定配置和包含规则的信息，使用下面的命令：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw app info &amp;#39;OpenSSH&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输出应该显示&amp;quot;OpenSSH&amp;quot;配置打开了端口&amp;quot;22&amp;quot;。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Profile: OpenSSH
Title: Secure shell server, an rshd replacement
Description: OpenSSH is a free implementation of the Secure Shell protocol.

Port:
  22/tcp
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;你也可以为你的应用创建自定义的配置。&lt;/p&gt;
&lt;h1 id=&#34;六启用-ufw&#34;&gt;六、启用 UFW&lt;/h1&gt;
&lt;p&gt;如果你在远程位置连接你的 Ubuntu，在启用 UFW 防火墙之前，你必须允许 SSH 连接。否则，你将无法连接到机器上。&lt;/p&gt;
&lt;p&gt;现在 UFW 防火墙被配置允许 SSH 远程连接，启用它，输入：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow ssh
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输出：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Rules updated
Rules updated (v6)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果 SSH 运行在非标准端口，你需要打开这个端口。&lt;/p&gt;
&lt;p&gt;例如，如果你的 SSH 守护程序监听了8022，输入下面的命令，允许连接通过那个端口：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow 7722/tcp
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;现在防火墙被配置允许进来的 SSH 连接，你可以输入下面的命令，启用UFW：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw enable
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输出如下：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#你将会被警告启用防火墙可能会中断现有的 SSH 连接，输入&amp;#34;y”，并且回车。
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;七打开端口&#34;&gt;七、打开端口&lt;/h1&gt;
&lt;p&gt;取决于运行在你服务器上的应用，你需要根据服务打开不同的端口。&lt;/p&gt;
&lt;p&gt;通用的打开端口的语法如下：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ufw allow port_number/protocol
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;下面是一些关于如何允许 HTTP 连接的方法。&lt;/p&gt;
&lt;p&gt;第一个选项就是使用服务名。UFW 检查/etc/services文件，其中指定服务的端口和协议：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow http
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;你也可以指定端口号和协议：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow 80/tcp
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;当没有给出协议的时候，UFW 同时创建tcp和udp的规则。&lt;/p&gt;
&lt;p&gt;另外一个选项就是使用应用程序配置。在这个例子中，是&amp;quot;OpenSSH”：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow &amp;#39;OpenSSH&amp;#39;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;UFW 还支持另外一种语法，使用 proto 关键字来指定协议。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;端口范围&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;UFW 允许你打开端口范围。使用分号分隔开端口的起点和终点，当你指定协议时，或者是 tcp，或者是udp。&lt;/p&gt;
&lt;p&gt;例如，如果你想允许端口从7100到7200，同时支持tcp和udp，你将要运行下面的命令：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow 7100:7200/tcp
sudo ufw allow 7100:7200/udp
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;允许指定 IP 地址访问指定端口&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;想要允许指定源 IP 的所有端口上的所有连接通过，使用from关键字，加上源地址。&lt;/p&gt;
&lt;p&gt;这里是一个 IP 地址白名单的例子：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow from 1.1.1.1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果你指向允许给定 IP 访问指定的端口，使用to any port关键字加上端口号。&lt;/p&gt;
&lt;p&gt;例如，允许从 IP 1.1.1.1的机器，通过22端口访问,输入：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow from 1.1.1.1 to any port 22
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;3&#34;&gt;
&lt;li&gt;允许子网&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;允许一个子网 IP 地址的访问和允许一个单个 IP 地址的访问，命令是一样的。唯一的不同是需要指定网络掩码。&lt;/p&gt;
&lt;p&gt;下面是一个例子，显示如何允许 IP 地址(192.168.1.1 到 192.168.1.254)，通过 3360(MySQL)，你可以使用这个命令：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow from 192.168.1.0/24 to any port 3306
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;允许指定网络接口的连接&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;想要允许连接通过指定网络接口，使用allow in on 和 网络接口的名字：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw allow in on eth0 to any port 3306
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;八禁止连接&#34;&gt;八、禁止连接&lt;/h1&gt;
&lt;p&gt;对于所有进来连接的默认的策略被设置为deny，如果你没有修改它，UFW 将会屏蔽所有进来的连接，除非你指定打开连接。&lt;/p&gt;
&lt;p&gt;写禁止规则和写允许规则是一样的，你需要的仅仅是使用deny关键字替换allow。&lt;/p&gt;
&lt;p&gt;比如说你打开了端口80和443，并且你的服务器处于来自2.2.2.0/24网络的攻击。想要禁止来自2.2.2.0/24的所有连接，使用下面的命令：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw deny from 2.2.2.0/24
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;禁止从2.2.2.0/24对80和443端口的访问，你可以使用下面的命令：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw deny proto tcp from 23.24.25.0/24 to any port 80,443
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;九删除-ufw-规则&#34;&gt;九、删除 UFW 规则&lt;/h1&gt;
&lt;p&gt;有两种不同的方式可以删除 UFW 规则。通过规则序号和通过指定的规则。&lt;/p&gt;
&lt;p&gt;想要通过规则序号来删除，你需要找到你想删除的规则序号。运行下面的命令：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw status numbered
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输出：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Status: active

     To                         Action      From
     --                         ------      ----         
[ 1] 22                         ALLOW IN    Anywhere         
[ 2] 22 (v6)                    ALLOW IN    Anywhere (v6)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;想要删除序号为2的规则，这个规则允许对IPv6 22端口的连接，你可以使用下面的命令：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw delete 2
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;删除规则的第二种方法就是指定实际的规则。例如，如果你添加过一个打开端口80的规则，你可以通过下面的命令删除它：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw delete allow 80
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;十-重载ufw&#34;&gt;十、 重载UFW&lt;/h1&gt;
&lt;p&gt;在对 UFW 规则进行变更后，需要使用命令重载 UFW，你可以运行：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw reload
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;十一禁用-ufw&#34;&gt;十一、禁用 UFW&lt;/h1&gt;
&lt;p&gt;如果因为任何原因，你需要停止 UFW，并且使得所有规则失效，你可以运行：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw disable
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;稍后，如果你想重新启用 UFW，并且激活所有规则，输入：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw enable
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;十二重置-ufw&#34;&gt;十二、重置 UFW&lt;/h1&gt;
&lt;p&gt;重置 UFW 将会禁用 UFW，删除所有激活的规则。如果你想撤销所有的应用规则，并且重新开始时，这个很有用。&lt;/p&gt;
&lt;p&gt;想要重置 UFW，简单输入下面的命令:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo ufw reset
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;三faq&#34;&gt;三、FAQ&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;问题1：&lt;/strong&gt; 运行命令提示错误&lt;code&gt;ERROR: You need to be root to run this script&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;回答1：&lt;/strong&gt; 需要使用有管理员权限的账户运行命令。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/linux/">Linux</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ufw/">UFW</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E9%98%B2%E7%81%AB%E5%A2%99/">防火墙</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>Linux 根目录扩容</title>
                <link>https://blog.xlclan.com/posts/linux-%E6%A0%B9%E7%9B%AE%E5%BD%95%E6%89%A9%E5%AE%B9/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/linux-%E6%A0%B9%E7%9B%AE%E5%BD%95%E6%89%A9%E5%AE%B9/</guid>
                <pubDate>Tue, 10 Jan 2023 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;在配置Linux时可能对根目录空间预留不足导致程序无法启动，固然可以通过变更数据存储目录来解决，但是有的情况下因各种原因无法变更，这时候就需要扩容根目录空间。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;首先通过&lt;code&gt;df-h&lt;/code&gt;命令查看系统中的磁盘空间情况。&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;df -h
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816193021.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;通过上图可以看出根目录空间只有20G，而且使用了5.6G。尝试将它扩容至36G。&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;
&lt;p&gt;通过&lt;code&gt;lsblk&lt;/code&gt;命令我们可以看到，sda磁盘有48G的空间，但是只有20G被分配给了根目录。接下来将剩余的16G扩容到根目录。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816195334.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;运行&lt;code&gt;growpart /dev/sdb3&lt;/code&gt;命令，将sdb3分区扩容。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816200102.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用&lt;code&gt;lvm&lt;/code&gt;命令，对根目录扩容。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;步骤1：进入lvm交互模式。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816200536.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;步骤2：使用&lt;code&gt;pvdisplay&lt;/code&gt;命令展示所有pv(物理卷)。可以看到Free PE(空闲物理扩展)为2815，表示可以进行扩展。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816200722.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;步骤3：使用&lt;code&gt;vgdisplay&lt;/code&gt;命令展示所有vg(卷组)。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816201300.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;步骤4：使用&lt;code&gt;lvdisplay&lt;/code&gt;命令展示所有lv(逻辑卷)。目前是20G。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816201344.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;步骤5：使用&lt;code&gt;lvextend -l +2815 /dev/ubuntu-vg/ubuntu-lv&lt;/code&gt;命令扩容根目录。lvextend -l(块数量，通过vgdisplay查看剩余pe数量。参考g) -r(递归) -L(指定具体大小)
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816201702.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;步骤6：再次查看lv，大小已变更。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816201833.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;步骤7：退出lvm&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;ol start=&#34;5&#34;&gt;
&lt;li&gt;
&lt;p&gt;使用&lt;code&gt;resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv&lt;/code&gt;命令，对文件系统进行扩容。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816202034.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用&lt;code&gt;df -h&lt;/code&gt;命令，查看根目录空间已经扩容至31G。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220816202310.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;三faq&#34;&gt;三、FAQ&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;问题1：&lt;/strong&gt; 最后一步使用&lt;code&gt;resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv&lt;/code&gt;命令时，报错&lt;code&gt;resize2fs: Bad magic number in super-block while trying to open /dev/mapper/ubuntu--vg-ubuntu--lv&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;回答1：&lt;/strong&gt; xfs文件系统无法使用&lt;code&gt;resize2fs&lt;/code&gt;命令进行扩容，需要使用&lt;code&gt;xfs_growfs&lt;/code&gt;命令进行扩容。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/linux/">Linux</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>mac OS 自带中文输入法不显示选字框解决方法</title>
                <link>https://blog.xlclan.com/posts/macos%E8%87%AA%E5%B8%A6%E4%B8%AD%E6%96%87%E8%BE%93%E5%85%A5%E6%B3%95%E4%B8%8D%E6%98%BE%E7%A4%BA%E9%80%89%E5%AD%97%E6%A1%86%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/macos%E8%87%AA%E5%B8%A6%E4%B8%AD%E6%96%87%E8%BE%93%E5%85%A5%E6%B3%95%E4%B8%8D%E6%98%BE%E7%A4%BA%E9%80%89%E5%AD%97%E6%A1%86%E8%A7%A3%E5%86%B3%E6%96%B9%E6%B3%95/</guid>
                <pubDate>Wed, 24 Aug 2022 09:50:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一故障现象&#34;&gt;一、故障现象&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;可以正常切换中英文输入法；&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;切换到中文输入法，只显示拼音且带下划线，但是不显示选词框，无法选择想要的词语；&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;二解决方法&#34;&gt;二、解决方法&lt;/h1&gt;
&lt;p&gt;这是由于 mac OS 自带的输入法程序故障导致的，我们同时可以参考文章 &lt;a href=&#34;https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E8%A7%A3%E5%86%B3-macos-13-%E7%B3%BB%E7%BB%9F%E9%A2%91%E7%B9%81%E5%87%BA%E7%8E%B0%E5%8D%A1%E6%AD%BB%E9%97%AE%E9%A2%98/&#34;&gt;如何解决 macOS 13 系统频繁出现卡死问题&lt;/a&gt; 进行解决。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;打开启动台，点击其他；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134410.png&#34;&gt;&lt;/p&gt;
&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;在其他里，点击“活动监视器”；&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134535.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;3、进入活动监视器窗口，在搜索框输入“输入”，会显示正在运行的输入法程序；&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134745.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;4、选中出现的输入法程序，点击上方的“X”关闭。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134838.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;5、会弹出退出输入法的提示窗口，点击“退出”按钮，即可解决。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220824134946.png&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/macos/">MacOS</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E4%B8%AD%E6%96%87%E8%BE%93%E5%85%A5%E6%B3%95/">中文输入法</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/it/">IT</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>Gitlab runner 运行报错 Host key verification failed. 解决方法</title>
                <link>https://blog.xlclan.com/posts/gitlab-runner-%E8%BF%90%E8%A1%8C%E6%8A%A5%E9%94%99/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/gitlab-runner-%E8%BF%90%E8%A1%8C%E6%8A%A5%E9%94%99/</guid>
                <pubDate>Fri, 19 Aug 2022 16:50:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一故障现象&#34;&gt;一、故障现象&lt;/h1&gt;
&lt;p&gt;这是我的.gitlab-ci.yml文件，如下所示：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;before_script:
  - &amp;#39;which ssh-agent || ( apt-get update -y &amp;amp;&amp;amp; apt-get install openssh-client -y )&amp;#39;
  - eval $(ssh-agent -s)
  - echo &amp;#34;$SSH_PRIVATE_KEY&amp;#34; | tr -d &amp;#39;\r&amp;#39; | ssh-add -
  - mkdir -p ~/.ssh
  - chmod 700 ~/.ssh

master-deploy:
  stage: deploy
  only:
    - master
  script:
    - scp -r index.html user@url:/index.html
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输出错误如下：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Host key verification failed.
lost connection
Cleaning up project directory and file based variables
00:00
+ set -o
+ grep pipefail
+ set -o pipefail
+ set -o errexit
+ set +o noclobber
+ :
···
+ exit 0
ERROR: Job failed: exit status 1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;私钥在本地测试正确。&lt;/p&gt;
&lt;h1 id=&#34;二问题原因&#34;&gt;二、问题原因&lt;/h1&gt;
&lt;p&gt;由于是第一次请求生产服务器，所以ssh会返回下列请求导致运行中断&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;The authenticity of host &amp;#39;xxx&amp;#39; can&amp;#39;t be established.
ESDSA key fingerprint is xxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?
&lt;/code&gt;&lt;/pre&gt;&lt;h1 id=&#34;三解决方法&#34;&gt;三、解决方法&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;在.gitlab-ci.yml文件中添加如下代码即可运行：&lt;/li&gt;
&lt;/ol&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;before_script:
  - ssh-keyscan [you_host_url] &amp;gt;&amp;gt; ~/.ssh/known_hosts
  - chmod 644 ~/.ssh/known_hosts
&lt;/code&gt;&lt;/pre&gt;</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/gitlab/">GitLab</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ci/cd/">CI/CD</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/runner/">Runner</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>请不要在聊天中问“在吗？”</title>
                <link>https://blog.xlclan.com/posts/nohello/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/nohello/</guid>
                <pubDate>Tue, 16 Aug 2022 21:40:00 &#43;0800</pubDate>
                
                
                
                    <description>&lt;blockquote&gt;
&lt;p&gt;2010-07-19 12:32:12 您：您好！在吗？&lt;/p&gt;
&lt;p&gt;2010-07-19 12:32:15 同事：您好。&lt;/p&gt;
&lt;p&gt;# 在您提出问题时同事需要等待&lt;/p&gt;
&lt;p&gt;2010-07-19 12:34:01 您：我正在做[某事]，并且正在尝试[某方法]&lt;/p&gt;
&lt;p&gt;2010-07-19 12:35:21 同事：哦，这里需要[解决方案]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;就像您在电话中打给某人并说“嗨！” 然后等待对方回应！&lt;/p&gt;
&lt;p&gt;请改为这样做：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2010-07-19 12:32:12 您：我正在做[某事]，并且正在尝试[某方法]&lt;/p&gt;
&lt;p&gt;2010-07-19 12:33:32 同事：[答案问题]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;请注意，您会在几分钟内获得帮助，并且不要让他们等待。相反，同事可以立即开始考虑您的问题！&lt;/p&gt;
&lt;p&gt;您想通过不直接跳入请求而变得礼貌，就像当面或在电话中那样。但是，聊天都不是那样。打字比说话慢得多。您不是在礼貌，而是在让其他人等着您说出您的问题，这会降低生产力。&lt;/p&gt;
&lt;p&gt;“你好！你在吗？”，“嗨鲍勃！快问。”，“你有几秒钟吗？”，“是吗？”也是如此。和“ ping”。只是问这个问题！&lt;/p&gt;
&lt;p&gt;如果您觉得简单地说“嗨”并提出问题很麻烦，则可以执行以下操作：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;2010-07-19 12:32:12 您：嗨！如果您不忙，我想知道是否可以提一个问题。我正在研究[某物]，并且正在尝试做[某事]&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;此外，在得到答复之前询问您的问题将允许异步通信。如果对方不在，而您在他们回来之前就离开了，他们仍然可以回答您的问题，而不仅仅是盯着“你好”并想知道他们错过了什么。&lt;/p&gt;
&lt;p&gt;这是原始网站&lt;a href=&#34;https://nohello.com&#34;&gt;nohello.com&lt;/a&gt;的副本。该文件的源代码可在&lt;a href=&#34;https://github.com/sbmueller/nohello&#34;&gt;github.com&lt;/a&gt;上公开获得。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/no-hello/">No Hello</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>搭建 Web 版的 Visual Studio Code Server</title>
                <link>https://blog.xlclan.com/posts/%E6%90%AD%E5%BB%BA-web-%E7%89%88%E7%9A%84-visual-studio-code-server/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E6%90%AD%E5%BB%BA-web-%E7%89%88%E7%9A%84-visual-studio-code-server/</guid>
                <pubDate>Thu, 11 Aug 2022 16:49:00 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;为了解决本地开发环境的一些问题，我们可以通过使用 Web 版本的 Visual Studio Code 来解决，比如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;环境差异问题：例如 Windows、Mac、Linux 三大平台都有各种各样的差异，统一开发平台后就解决了这种差异。&lt;/li&gt;
&lt;li&gt;依赖问题：在一台开发机器上配置环境后，无需再去配置另一台机器，新机器可以直接访问使用。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这里我们选择使用 Web 版本的 Visual Studio Code，因为它比较通用，可以在任何平台上使用，而且比较简单。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;下载 Visual Studio Code Web Server&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;wget -O vscode-web-server.tar.gz https://update.code.visualstudio.com/latest/server-linux-x64-web/stable

tar -xvf vscode-web-server.tar.gz

cd vscode-server-linux-x64-web
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;创建启动文件&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vi server.sh
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输入以下内容并保存：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#!/usr/bin/env sh
# 
# Copyright (c) Microsoft Corporation. All rights reserved.
#

ROOT=&amp;#34;$(dirname &amp;#34;$0&amp;#34;)&amp;#34;

&amp;#34;$ROOT/node&amp;#34; ${INSPECT:-} &amp;#34;$ROOT/out/server-main.js&amp;#34; --compatibility=1.63 &amp;#34;$@&amp;#34;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220815103732.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;启动服务&lt;/p&gt;
&lt;p&gt;这里我们通过nohup使其可以在后台运行，这样就不会因为终端断开而退出了。
通过 &lt;code&gt;--host&lt;/code&gt; 和 &lt;code&gt;--port&lt;/code&gt; 可以改变绑定的 ip 和端口，如果不指定，默认是localhost:8080。&lt;code&gt;--accept-server-license-terms&lt;/code&gt;是默认同意许可协议。&lt;code&gt;--without-connection-token&lt;/code&gt;是不需要连接 token。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;nohup server.sh --accept-server-license-terms &amp;gt;&amp;gt; vscode.log 2&amp;gt;&amp;amp;1 &amp;amp;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;查看日志文件获取访问Token&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cat vscode.log
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;可以看到如下内容：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;server.sh is being replaced by &amp;#39;bin/code-server&amp;#39;. Please migrate to the new command and adopt the following new default behaviors:
* connection token is mandatory unless --without-connection-token is used
* host defaults to `localhost`
*
* Visual Studio Code Server
*
* By using the software, you agree to
* the Visual Studio Code Server License Terms (https://aka.ms/vscode-server-license) and
* the Microsoft Privacy Statement (https://privacy.microsoft.com/en-US/privacystatement).
*
Server bound to :::8000 (IPv6)
Extension host agent listening on 8000

Breaking change in the next release: Please use one of the following arguments: &amp;#39;--connection-token&amp;#39;, &amp;#39;--connection-token-file&amp;#39; or &amp;#39;--without-connection-token&amp;#39;.
Web UI available at http://localhost:8000/?tkn=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx
[05:25:33] Extension host agent started.
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;将地址 http://localhost:8000/?tkn=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx 复制进您的浏览器中，localhost 改为服务器 IP 就可以访问了。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220815103235.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;三faq&#34;&gt;三、FAQ&lt;/h1&gt;
&lt;p&gt;问题1：配置后依旧无法访问怎么办？
回答1：检查客户端与服务器的网络连接是否正常，如果正常，请检查防火墙是否允许访问指定的端口。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/visual-studio-code/">Visual Studio Code</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ide/">IDE</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/web/">Web</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/linux/">Linux</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>通过 ZeroTier One 网络配置路由出口</title>
                <link>https://blog.xlclan.com/posts/%E9%80%9A%E8%BF%87zerotierone%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE%E8%B7%AF%E7%94%B1%E5%87%BA%E5%8F%A3/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E9%80%9A%E8%BF%87zerotierone%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE%E8%B7%AF%E7%94%B1%E5%87%BA%E5%8F%A3/</guid>
                <pubDate>Wed, 06 Jul 2022 14:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;在一些企业网络中，需要特定的路由出口以供员工使用，这里我们将介绍如何通过 ZeroTier One 网络配置特定的路由出口。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;ZeroTier One 是一个开源应用程序，它可以通过点对点加密将各区域的网络通信连接到一起，从而达到安全的网络通信。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;在本文中我们将介绍如何通过 ZeroTier One 网络配置路由出口。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二先决条件&#34;&gt;二、先决条件&lt;/h1&gt;
&lt;p&gt;在完成本文中的所有任务之前，我们需要先了解如下内容：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;运行 Ubuntu 20.04 系统的服务器，在此服务器上您还需要具有sudo权限的用户。&lt;/li&gt;
&lt;li&gt;Zerotier One 的账户，您可以访问 &lt;a href=&#34;https://www.zerotier.com/&#34;&gt;ZeroTier One 的官网&lt;/a&gt;，并在此网站注册一个账户。&lt;/li&gt;
&lt;li&gt;已配置 ZeroTier One 的本地路由器，如果您没有配置路由器，您可以参考 &lt;a href=&#34;https://blog.xlclan.com/posts/%E9%80%9A%E8%BF%87zerotierone%E5%BC%82%E5%9C%B0%E7%BB%84%E7%BD%91%E8%81%94%E9%80%9A%E5%AD%90%E5%85%AC%E5%8F%B8%E7%BD%91%E7%BB%9C/&#34;&gt;通过 ZeroTier One 异地组网联通子公司网络&lt;/a&gt; 进行配置。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;完成这些先决条件，您就可以开始本文的学习了。&lt;/p&gt;
&lt;h1 id=&#34;三操作流程&#34;&gt;三、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;安装 ZeroTier One，这里根据官网提示进行安装即可&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;curl -s https://install.zerotier.com | bash
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;在 ZeroTier One 的路由器上配置 ZeroTier One 网络&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;zerotier-cli join &amp;lt;ZeroTier One 网络 ID&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;访问 ZeroTier One 的&lt;a href=&#34;https://my.zerotier.com/&#34;&gt;管理页面&lt;/a&gt; ，在此页面上允许此服务器连接 ZeroTier One 网络并配置服务器的IP地址。
服务器IP本文以 &lt;code&gt;10.0.0.1/24&lt;/code&gt; 为例，ZeroTier One 分配给到服务器的IP地址以 &lt;code&gt;10.1.1.1/24&lt;/code&gt; 为例。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;检查服务器是否启用 Linux 内核数据转发功能。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo sysctl -a | grep net.ipv4.ip_forward
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果没有启用，则需要启用：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo sysctl -w net.ipv4.ip_forward=1
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;配置 &lt;code&gt;iptables&lt;/code&gt; 规则&lt;/p&gt;
&lt;p&gt;通过 &lt;code&gt;ip addr&lt;/code&gt; 命令查看网络接口名称，输出如下&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;1: lo: &amp;lt;LOOPBACK,UP,LOWER_UP&amp;gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
2: eth0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0d:7a:c9:0f:62 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.1/24 brd 10.0.0.255 scope global eth0
        valid_lft forever preferred_lft forever
    inet6 fe80::20d:3aff:fec9:f57/64 scope link
        valid_lft forever preferred_lft forever
3: zt0: &amp;lt;BROADCAST,MULTICAST,UP,LOWER_UP&amp;gt; mtu 2800 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether 5a:89:77:77:77:77 brd ff:ff:ff:ff:ff:ff
    inet 10.1.1.1/24 brd 10.1.1.255 scope global zt0
        valid_lft forever preferred_lft forever
    inet6 fe80::5889:7777:7777:7777/64 scope link
        valid_lft forever preferred_lft forever
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;添加 &lt;code&gt;iptables&lt;/code&gt; 规则，配置如下：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

#允许服务器的网卡 eth0 转发所有来自 ZeroTier One 的流量
sudo iptables -A FORWARD -i zt0 -o eth0 -j ACCEPT
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;因为 &lt;code&gt;iptables&lt;/code&gt; 规则会在服务器重启后丢失，这里安装 &lt;code&gt;iptables-persistent&lt;/code&gt; 实现程序的持久化。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo apt install iptables-persistent
sudo netfilter-persistent save
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;如果您的服务器重启后无法转发流量，请检查 &lt;code&gt;iptables&lt;/code&gt; 规则是否保存。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;访问 ZeroTier One 的&lt;a href=&#34;https://my.zerotier.com/&#34;&gt;管理界面&lt;/a&gt; ，在此页面上配置需要路由的IP段。这里我们以 &lt;code&gt;8.8.8.0/24&lt;/code&gt; 为例。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220706161030.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;接下来，配置 ZeroTier One 客户端软件允许承载默认路由流量，这将修改客户端的路由，使其路由到 ZeroTier One 的网络。这里我们在本地路由上执行：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo zerotier-cli set &amp;lt;ZeroTier One 网络 ID&amp;gt; allowDefault=1
sudo zerotier-cli set &amp;lt;ZeroTier One 网络 ID&amp;gt; allowGlobal=1
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;每次重启客户端的 ZeroTier 服务时，值会被重置为 0 ，这意味着客户端将不会路由到 ZeroTier One 的网络。所以需要再次运行此命令以激活路由。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;客户端的DNS设置&lt;/p&gt;
&lt;p&gt;建议客户端配置为企业内部的DNS服务器，既能实现内网访问，同时也可以避免请求到不正确的IP地址。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;至此已配置完成，您可以在 ZeroTier One 的管理界面上查看网络的状态和管理网络规则。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/zerotier-one/">ZeroTier One</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/sdn/">SDN</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/network/">Network</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>通过 Zerotier One 异地组网联通子公司网络</title>
                <link>https://blog.xlclan.com/posts/%E9%80%9A%E8%BF%87zerotierone%E5%BC%82%E5%9C%B0%E7%BB%84%E7%BD%91%E8%81%94%E9%80%9A%E5%AD%90%E5%85%AC%E5%8F%B8%E7%BD%91%E7%BB%9C/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E9%80%9A%E8%BF%87zerotierone%E5%BC%82%E5%9C%B0%E7%BB%84%E7%BD%91%E8%81%94%E9%80%9A%E5%AD%90%E5%85%AC%E5%8F%B8%E7%BD%91%E7%BB%9C/</guid>
                <pubDate>Wed, 06 Jul 2022 10:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;一些小微企业有多个分公司，在构建与母公司的网络连接时，需要通过异地组网联通子公司网络。通过专线或需要公网IP的IPSec等方式进行连接时又考虑到成本而放弃，这里我们介绍通过ZeroTier One异地组网联通子公司网络的方式，低成本助力小微企业构建网络连接。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;ZeroTier One 是一个开源应用程序，它可以通过点对点加密将各区域的网络通信连接到一起，从而达到安全的网络通信。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二先决条件&#34;&gt;二、先决条件&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;本地网络上配置完成的 OpenWrt 路由器 ，OpenWrt 剩余空间应大于1MB。&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;三zerotier-one-注册&#34;&gt;三、ZeroTier One 注册&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;访问&lt;a href=&#34;https://www.zerotier.com/&#34;&gt;ZeroTier One&lt;/a&gt;注册账号，以获得 ZeroTier One 网络ID ，免费账户可以部署25个 ZeroTier One 节点。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220706181927.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;创建完成后就可以在ZeroTier One的网络中查看自己的网络ID，后续配置需要通过这个ID才能加入网络。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;四openwrt-上配置-zerotier-one&#34;&gt;四、OpenWrt 上配置 ZeroTier One&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;通过ssh连接至 OpenWrt 安装 ZeroTier One&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ssh root@&amp;lt;OpenWrt IP&amp;gt;

#更新源
opkg update

#安装 ZeroTier One
opkg install zerotier
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;配置 ZeroTier One&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#加入 ZeroTier One 网络
zerotier-cli join &amp;lt;ZeroTier One ID&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;完成之后访问ZeroTier官网允许入网。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;创建接口及配置防火墙&lt;/p&gt;
&lt;p&gt;OpenWrt菜单进入“网络-接口”，点击添加新接口。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220706192213.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;配置接口防火墙&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220706192751.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;配置防火墙区域设置&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220706193218.png&#34;&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用ping 命令查看网络连接情况&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ping &amp;lt;ZeroTier One 网络 IP&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;看双向 ping 的数据包是否正常即可。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/zerotier-one/">ZeroTier One</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/sdn/">SDN</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/network/">Network</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>Windows如何安全删除文件使其无法恢复</title>
                <link>https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E5%AE%89%E5%85%A8%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E4%BD%BF%E5%85%B6%E6%97%A0%E6%B3%95%E6%81%A2%E5%A4%8D/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E5%AE%89%E5%85%A8%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E4%BD%BF%E5%85%B6%E6%97%A0%E6%B3%95%E6%81%A2%E5%A4%8D/</guid>
                <pubDate>Thu, 02 Jun 2022 17:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;从硬盘中删除文件后，Windows系统只是简单的将文件标记为已删除，但文件仍然存在，使用工具，就有概率能够将数据恢复出来。只有硬盘中存储该文件的位置被其他数据所覆写多次才能使文件无法恢复。
这里我们使用系统自带的命令行工具cipher来对硬盘上的剩余空间进行擦写，从而安全删除剩余空间中包含的已删除文件。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;首先删除需要删除的工作文件。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;其次输入Win+R，输入PowerShell，点击回车，进入PowerShell环境。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;最后在PowerShell环境中输入：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;cipher /w:C #“C”是分区盘符，根据需要修改为对应盘符。
&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;该命令会依次执行三个任务：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用0x00覆盖剩余空间。&lt;/li&gt;
&lt;li&gt;用数据0xFF再次覆盖剩余空间。&lt;/li&gt;
&lt;li&gt;最后再使用随机数据进行擦写。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;完成整个过程需要一些时间，取决于硬盘剩余空间大小。该操作不会对磁盘上正常的数据造成影响。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;/ol&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/windows/">Windows</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>SSH 配置免密登录</title>
                <link>https://blog.xlclan.com/posts/ssh-%E9%85%8D%E7%BD%AE%E5%85%AC%E9%92%A5%E5%85%8D%E5%AF%86%E7%99%BB%E5%BD%95/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/ssh-%E9%85%8D%E7%BD%AE%E5%85%AC%E9%92%A5%E5%85%8D%E5%AF%86%E7%99%BB%E5%BD%95/</guid>
                <pubDate>Mon, 30 May 2022 17:53:14 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;免密登录的原理：通过密钥认证登录，首先在自己的服务器上生成公钥和私钥，其次将公钥上传到远程服务中，在于远程服务器建立连接通信时，远程服务器首先会验证该服务器上是否包含请求服务器的公钥，若不包含则需要远程登录的用户输入密码。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;首先将公钥添加至服务器端的公钥凭证&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;步骤1：编辑文件~/.ssh/authorized_keys，将公钥添加至文件中&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;echo 你的公钥内容 &amp;gt;&amp;gt; ~/.ssh/auth
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220530180727.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;如果提示错误“No such file or directory”，请执行以下命令后再次执行上一步：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mkdir ~/.ssh
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;步骤2：修改文件权限，将文件权限设置为600，文件夹权限为700&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
&lt;/code&gt;&lt;/pre&gt;&lt;ol start=&#34;2&#34;&gt;
&lt;li&gt;服务器端开启密钥登录模式&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;步骤1：编辑文件sshd_config&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vi /etc/ssh/sshd_config
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;步骤2：修改文件内的这些配置项&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# 是否允许 root 远程登录，如果只有用户root此项请设置为yes
PermitRootLogin no

# 密码登录是否打开
PasswordAuthentication yes

# 开启公钥认证
RSAAuthentication yes
PubkeyAuthentication yes

# 存放登录用户公钥的文件位置
# 位置就是登录用户名的家目录下的 .ssh
# root 就是 /root/.ssh
# ks 就是 /home/ks/.ssh
AuthorizedKeysFile .ssh/authorized_keys
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;步骤3：重启sshd服务&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl restart sshd
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;步骤4：测试使用密钥登录，如果可以正常登录，说明配置成功&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;ssh -i ~/.ssh/id_rsa username@ip
&lt;/code&gt;&lt;/pre&gt;&lt;ol&gt;
&lt;li&gt;为了服务器安全，将密码登录关闭&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;步骤1：编辑文件sshd_config&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;vi /etc/ssh/sshd_config
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;步骤2：修改文件内的这些配置项&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# 是否允许密码登录
PasswordAuthentication no
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;最后重启sshd服务即可。&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;systemctl restart sshd
&lt;/code&gt;&lt;/pre&gt;</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/linux/">Linux</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/ssh/">SSH</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>Windows电脑访问smb共享盘出错怎么办</title>
                <link>https://blog.xlclan.com/posts/windows%E7%94%B5%E8%84%91%E8%AE%BF%E9%97%AEsmb%E5%85%B1%E4%BA%AB%E7%9B%98%E5%87%BA%E9%94%99%E6%80%8E%E4%B9%88%E5%8A%9E/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/windows%E7%94%B5%E8%84%91%E8%AE%BF%E9%97%AEsmb%E5%85%B1%E4%BA%AB%E7%9B%98%E5%87%BA%E9%94%99%E6%80%8E%E4%B9%88%E5%8A%9E/</guid>
                <pubDate>Wed, 25 May 2022 22:57:28 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一故障现象&#34;&gt;一、故障现象&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;访问smb共享盘时提示“你不能访问此共享文件夹，因为你组织的安全策略阻止未经身份验证的来宾访问。这些策略可帮助保护你的电脑免受网络上不安全设备或恶意设备的威胁”时可以参考此文档解决&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;首先需要备份注册表。
&lt;ul&gt;
&lt;li&gt;步骤1：依次单击“开始”、“运行”，在“打开”框中键入 regedit，然后单击“确定”。&lt;/li&gt;
&lt;li&gt;步骤2：选择左上角的“文件”，点击导出，将注册表备份为文件。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;接下来下载文件。
&lt;a href=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/%E4%BF%AE%E5%A4%8D%E6%97%A0%E6%B3%95%E5%8C%BF%E5%90%8D%E8%AE%BF%E9%97%AEsmb%E9%97%AE%E9%A2%98.reg&#34;&gt;点击下载&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;双击运行此文件并选择“是”。&lt;/li&gt;
&lt;li&gt;再次访问网络共享盘即可正常访问。&lt;/li&gt;
&lt;/ol&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/windows/">Windows</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/smb/">Smb</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>如何将中文用户文件夹改为英文</title>
                <link>https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%AD%E6%96%87%E7%94%A8%E6%88%B7%E6%96%87%E4%BB%B6%E5%A4%B9%E6%94%B9%E4%B8%BA%E8%8B%B1%E6%96%87/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%AD%E6%96%87%E7%94%A8%E6%88%B7%E6%96%87%E4%BB%B6%E5%A4%B9%E6%94%B9%E4%B8%BA%E8%8B%B1%E6%96%87/</guid>
                <pubDate>Tue, 17 May 2022 14:57:28 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;有很多软件不支持中文路径，如果电脑的用户文件夹是中文，那么可以使用这个方法来修改用户文件夹的名称。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;首先需要备份操作系统以防止操作失败导致数据丢失，这里我们使用的是群晖的Active Backup for Business进行的。
&lt;ul&gt;
&lt;li&gt;步骤1：在客户机上安装Synology Active Backup for Business Agent，并登录。&lt;/li&gt;
&lt;li&gt;步骤2：登录DSM访问Active Backup for Business开始备份，这里我们只需要备份系统盘，等待备份完成即可。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;接下来需要开启Administrator账户。
&lt;ul&gt;
&lt;li&gt;步骤1：以管理员身份打开PowerShell窗口，输入以下命令：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;net user administrator /active:yes
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;步骤2：切换到Administrator账户并重启电脑，防止软件占用导致无法修改用户文件夹。&lt;/li&gt;
&lt;li&gt;步骤3：开机后登录进入Administrator账户。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;最后开始修改用户文件夹的名称。
&lt;ul&gt;
&lt;li&gt;步骤1：打开文件资源管理器，找到用户或者user文件夹中对应用户名的文件夹，然后点击右键，选择“重命名”，修改为英文名称。&lt;/li&gt;
&lt;li&gt;步骤2：打开注册表，找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1-5-21-XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX，修改用户名为英文名称。&lt;/li&gt;
&lt;li&gt;步骤3：配置环境变量，打开设置，进入“系统-关于-高级系统设置-环境变量”，将中文用户文件夹的环境变量改为英文名称。&lt;/li&gt;
&lt;li&gt;步骤4：链接原中文文件夹至英文文件夹，以管理员身份运行PowerShell窗口，输入以下命令：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;mklink /J &amp;#34;C:\Users\原中文用户文件夹&amp;#34; &amp;#34;C:\Users\现英文用户文件夹&amp;#34; 
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;步骤5：以管理员身份运行PowerShell窗口，输入以下命令：&lt;/li&gt;
&lt;/ul&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;net user administrator /active:no
&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;
&lt;li&gt;步骤6：重启电脑后即可。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;三faq&#34;&gt;三、FAQ&lt;/h1&gt;
&lt;p&gt;问题1：无法修改用户文件夹名称，提示“操作无法完成，因为文件夹已在另一个程序中打开，请关闭该文件夹并重试”。&lt;/p&gt;
&lt;p&gt;回答1：在开始菜单搜索“资源监视器”并打开，资源监视器界面中点击CPU栏，在关联的句柄右侧搜索框内输入中文用户文件夹名称，点击右侧下拉箭头，就可以查看该文件被那几个程序占用了。将对应程序结束进程即可。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/windows/">Windows</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>在搭载M1芯片的Macbook上安装Windows虚拟机</title>
                <link>https://blog.xlclan.com/posts/%E5%9C%A8%E6%90%AD%E8%BD%BDm1%E8%8A%AF%E7%89%87%E7%9A%84macbook%E4%B8%8A%E5%AE%89%E8%A3%85windows%E8%99%9A%E6%8B%9F%E6%9C%BA/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%9C%A8%E6%90%AD%E8%BD%BDm1%E8%8A%AF%E7%89%87%E7%9A%84macbook%E4%B8%8A%E5%AE%89%E8%A3%85windows%E8%99%9A%E6%8B%9F%E6%9C%BA/</guid>
                <pubDate>Tue, 17 May 2022 14:54:12 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;在工作中有一些软件不兼容macOS，此时安装Windows虚拟机可以解决这个问题。这里我们选择基于Apache-2.0 许可分发的UTM虚拟软件进行安装，它相比Parallels Desktop来说不需要采购，成本更低，也不需要破解，没有合规问题。
由于M1芯片的硬件环境不同，所以安装Windows虚拟机时不能使用x86_64的系统镜像，而是使用Windows 11 ARM镜像进行安装。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;所需软件和镜像下载地址：
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/utmapp/UTM/releases&#34;&gt;UTM下载地址&lt;/a&gt;
&lt;a href=&#34;https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewARM64&#34;&gt;Windows 11 ARM镜像下载地址&lt;/a&gt;（需要登录加入了Windows Insider预览的账户）
&lt;a href=&#34;https://mac.getutm.app/support/&#34;&gt;驱动下载&lt;/a&gt;
&lt;a href=&#34;https://apps.apple.com/app/microsoft-remote-desktop/id1295203466&#34;&gt;Microsoft Remote Desktop下载&lt;/a&gt;（需要非国区Apple ID账户才可以下载）&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;下载完成后，打开UTM安装包，将其拖动至应用程序文件夹，UTM就安装完成了。&lt;/li&gt;
&lt;li&gt;开始安装Windows虚拟机
&lt;ul&gt;
&lt;li&gt;步骤1：首先打开UTM，然后点击按钮“+”以打开VM运行向导。&lt;/li&gt;
&lt;li&gt;步骤2：点击“虚拟化”
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517132621.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤3：选择“Windows”
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517133211.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤4：勾选“导入VHDX磁盘镜像”并选择文档开始时下载的Windows 11 ARM镜像并点击下一步。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517133731.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤5：选择分配给 VM 访问的 RAM 和 CPU 内核数量。这里我们默认即可，点击“下一步”继续。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517133956.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤6：如果需要挂载目录到 VM 中，可以在这里选择对应目录。这里我们跳过此步骤，点击“下一步”继续。&lt;/li&gt;
&lt;li&gt;步骤7：点击“保存”创建虚拟机。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;安装完成后，开始进行虚拟机配置
&lt;ul&gt;
&lt;li&gt;步骤1：点击运行按钮启动虚拟机并登录。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517134342.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤2：安装驱动和访客插件，点击Drive Image option，选择驱动镜像加载。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517135025.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤3：打开Windows虚拟机的文件资源管理器，点击D盘，安装“spice-guest-tools-xxx.exe”。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517135644.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤4：点击“Next - I Agree - Finish”，等待虚拟机重启完成即可正常使用。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;由于显示驱动不完善的问题，导致无法支持高分辨率，而且还会随机发生鼠标指针突然丢失的问题。这里我们使用远程桌面工具解决这个问题。
&lt;ul&gt;
&lt;li&gt;步骤1：关闭Windows虚拟机，打开UTM，点击“设置”打开虚拟机设置界面。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517140642.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤2：打开网络选项卡，新建两条端口转发规则。相关内容如下所示：
&lt;blockquote&gt;
&lt;p&gt;TCP协议:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;客户机地址: 10.0.2.15（此处根据Windows虚拟机获取的IP进行配置）&lt;/li&gt;
&lt;li&gt;客户机端口:3389&lt;/li&gt;
&lt;li&gt;主机地址：127.0.0.1&lt;/li&gt;
&lt;li&gt;主机端口：3389
UDP协议:&lt;/li&gt;
&lt;li&gt;客户机地址: 10.0.2.15（此处根据Windows虚拟机获取的IP进行配置）&lt;/li&gt;
&lt;li&gt;客户机端口:3389&lt;/li&gt;
&lt;li&gt;主机地址：127.0.0.1&lt;/li&gt;
&lt;li&gt;主机端口：3389
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517141016.png&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;步骤3：点击“保存”，关闭虚拟机设置界面并开启虚拟机。&lt;/li&gt;
&lt;li&gt;步骤4：打开Windows虚拟机内部的“设置-系统-远程桌面”，将启用远程桌面开关打开。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517143343.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤5：安装Microsoft Remote Desktop到macOS系统中，并启动。&lt;/li&gt;
&lt;li&gt;步骤6：点击Add PC
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517143751.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤7：PC name处填写127.0.0.1
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517143905.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤8：User account处需要点击后选择Add User Account...
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517144118.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤9：填写您在配置Windows虚拟机时填写的账户名及密码，然后点击Add
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220517144318.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;步骤10：确认信息无误后点击Add完成添加。&lt;/li&gt;
&lt;li&gt;步骤11：最后点击连接即可。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;三faq&#34;&gt;三、FAQ&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;问题1：&lt;/strong&gt; 在Windows 11 初始设置时由于没有网络导致无法添加账户。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;回答1：&lt;/strong&gt; 按Shift + F10启动命令提示符，输入OOBE\BYPASSNRO并按 Enter，这时虚拟机会自动重启，重启完成后设置屏幕上会看到“我没有互联网”的选项，点击选择就可以继续进行设置了。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/windows/">Windows</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E8%99%9A%E6%8B%9F%E5%8C%96/">虚拟化</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/macbook/">Macbook</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/utm/">UTM</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>如何部署Proxmox Virtual Environment</title>
                <link>https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E9%83%A8%E7%BD%B2proxmox-virtual-environment/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%A6%82%E4%BD%95%E9%83%A8%E7%BD%B2proxmox-virtual-environment/</guid>
                <pubDate>Sat, 07 May 2022 14:54:12 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;h1 id=&#34;一功能介绍&#34;&gt;一、功能介绍&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;Proxmox VE 是一个完整的、开源的企业虚拟化服务器管理平台。它将 KVM 管理程序和 Linux 容器 (LXC)、软件定义的存储和网络功能紧密集成在一个平台上。借助基于 Web 的集成用户界面，您可以轻松管理 VM 和容器、集群的高可用性或轻松集成灾难恢复工具。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id=&#34;二操作流程&#34;&gt;二、操作流程&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;首先我们下载PVE镜像并启动它。
&lt;ul&gt;
&lt;li&gt;步骤1：到Proxmox官网https://www.proxmox.com/en/downloads ，下载PVE的镜像文件&lt;/li&gt;
&lt;li&gt;步骤2：本文通过IPMI引导安装PVE，如果您需要安装的设备没有IPMI，请尝试使用&lt;a href=&#34;https://www.ventoy.net/cn/&#34;&gt;Ventoy&lt;/a&gt;配置多系统启动U盘或者使用镜像烧录软件安装PVE。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;安装PVE
&lt;ul&gt;
&lt;li&gt;步骤1：引导进入PVE后，我们选择Install Proxmox VE进行安装。&lt;/li&gt;
&lt;li&gt;步骤2：进入自检画面，等待几秒钟。出现相关协议，同意该协议，选择“I agree”&lt;/li&gt;
&lt;li&gt;步骤3：选择安装目的硬盘，如果只有一个硬盘，直接选择即可。如果有多个硬盘，请选择目的硬盘。&lt;/li&gt;
&lt;li&gt;步骤4：选择国家，地区和使用的键盘样式，这里根据实际情况选择。&lt;/li&gt;
&lt;li&gt;步骤5：配置Root登录密码和邮箱，登录密码建议使用强度较高的密码，邮箱可以随意填写。&lt;/li&gt;
&lt;li&gt;步骤6：最后我们配置PVE的IP、子网掩码、网关、DNS服务器和主机名，这里根据实际情况进行填写，点击“Next”继续，最后点击Install安装。&lt;/li&gt;
&lt;li&gt;步骤7：安装完成后，点击“Reboot”重启，重启后安装就完成了。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;访问PVE的管理界面
&lt;ul&gt;
&lt;li&gt;步骤1：在局域网的任意一台电脑，打开浏览器输入https://PVE_IP:8006，输入密码登录后会提示“无有效的订阅”，点击确定忽略即可。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220507154429.png&#34;&gt;&lt;/li&gt;
&lt;li&gt;到此PVE就安装完成了，local默认用于存放ISO镜像、容器模板、备份文件，local-lvm用于存放磁盘镜像文件和容器。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/e58142847f71681217b9514211b6656d.jpg&#34;&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;三faq&#34;&gt;三、FAQ&lt;/h1&gt;
&lt;p&gt;问题1：磁盘空间不足怎么办？
回答1：安装上新硬盘，进入“PVE-磁盘-目录”，点击创建目录，选择未使用的磁盘，文件系统选择ext4，名称可以随便输入，点击“创建”。最后，进入“数据中心-存储”，选择刚创建的目录并编辑，将“内容”中的类型全部勾选，点击OK即可。&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E8%99%9A%E6%8B%9F%E5%8C%96/">虚拟化</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/proxmox-ve/">Proxmox VE</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/linux/">Linux</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>怎样使用Microsoft文档翻译器翻译一整篇文档</title>
                <link>https://blog.xlclan.com/posts/%E6%80%8E%E6%A0%B7%E4%BD%BF%E7%94%A8microsoft%E6%96%87%E6%A1%A3%E7%BF%BB%E8%AF%91%E5%99%A8%E7%BF%BB%E8%AF%91%E4%B8%80%E6%95%B4%E7%AF%87%E6%96%87%E6%A1%A3/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E6%80%8E%E6%A0%B7%E4%BD%BF%E7%94%A8microsoft%E6%96%87%E6%A1%A3%E7%BF%BB%E8%AF%91%E5%99%A8%E7%BF%BB%E8%AF%91%E4%B8%80%E6%95%B4%E7%AF%87%E6%96%87%E6%A1%A3/</guid>
                <pubDate>Sun, 18 Mar 2018 18:33:47 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;不久前阅读某论文时思考如果我需要将整篇论文一次性翻译为中文，是否有什么方案能快速方便的实现这个目的。&lt;/p&gt;
&lt;p&gt;在搜索的过程中我发现微软为我们提供了一套完整的解决方案https://www.microsoft.com/zh-cn/translator/doctranslator.aspx。&lt;/p&gt;
&lt;h2 id=&#34;使用microsoft文档翻译器可瞬间翻译您的文件&#34;&gt;使用Microsoft文档翻译器可瞬间翻译您的文件&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;单独或成批翻译您的 Word, PDF, PowerPoint, 或 Excel 文档&lt;/li&gt;
&lt;li&gt;每月免费约650 页文本翻译成 Microsoft Translator 支持的全部 60 种语言&lt;/li&gt;
&lt;li&gt;保留您文档的原始格式&lt;/li&gt;
&lt;li&gt;根据自己的需要，定制 Document Translator 开放源代码&lt;/li&gt;
&lt;li&gt;增加标准类别，以提高科技内容或口录文字的选定语言翻译质量&lt;/li&gt;
&lt;li&gt;文档翻译器也可以使用通过Microsoft Translator Hub培训的自定义MT系统&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下面教大家使用方法&lt;/p&gt;
&lt;p&gt;首先申请免费的文本翻译API，申请API需要有一个Microsoft Azure帐户&lt;/p&gt;
&lt;p&gt;开始注册Azure(全球)账户
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527183710.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;点击免费开始，输入微软个人账户
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527183741.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;登录成功后跳转至 Azure 免费账户注册
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527183854.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;填写上述信息后，点击下一步进行手机认证及信用卡认证【除非你明确转换为付费服务，否则不会向你的卡收取任何费用】&lt;/p&gt;
&lt;p&gt;最后注册成功后进入控制台界面，点击创建资源，搜索&amp;quot;Translator Text API”
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527183925.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527183947.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;填写资源名称、订阅、定价层（F0为免费）、资源组名称以及资源组位置后点击创建&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527184030.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;等待创建的过程中我们将Microsoft文档翻译器下载安装。下载地址：https://github.com/MicrosoftTranslator/DocumentTranslator/releases&lt;/p&gt;
&lt;p&gt;将下载后的 MicrosoftDocumentTranslator.msi 双击安装，然后运行它，点击SETTINGS
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527184130.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;此时回到Azure，搜索刚才创建的资源
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527185338.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;选择菜单中的 Keys，复制 KEY 1中的字符至 Microsoft 文档翻译器 SETTINGS 里的 Key 中点击 Save 后就完成相关配置啦！
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527185408.png&#34;&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527185425.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;你也可以根据需要配置填写 Category 使你的文档翻译更为准确。&lt;/p&gt;
&lt;p&gt;接下来点击 Translate Document 添加你的文档，选择翻译语言后开始愉快的翻译旅程吧！！
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527185457.png&#34;&gt;&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/microsoft/">Microsoft</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/azure/">Azure</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>英语四六级准考证号查询方法</title>
                <link>https://blog.xlclan.com/posts/%E8%8B%B1%E8%AF%AD%E5%9B%9B%E5%85%AD%E7%BA%A7%E5%87%86%E8%80%83%E8%AF%81%E5%8F%B7%E6%9F%A5%E8%AF%A2%E6%96%B9%E6%B3%95/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E8%8B%B1%E8%AF%AD%E5%9B%9B%E5%85%AD%E7%BA%A7%E5%87%86%E8%80%83%E8%AF%81%E5%8F%B7%E6%9F%A5%E8%AF%A2%E6%96%B9%E6%B3%95/</guid>
                <pubDate>Thu, 01 Mar 2018 18:22:53 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;又到了查四六级成绩的时候了~&lt;/p&gt;
&lt;p&gt;可是好多马虎的小伙伴又把准考证号忘了~&lt;/p&gt;
&lt;p&gt;这里写个教程给这些马虎的小伙伴查准考证号的方法~&lt;/p&gt;
&lt;p&gt;&lt;font color=&#39;red&#39;&gt;此方法需要在Windows系统的电脑上运行【Mac OS不可以】&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;首先下载python3的安装程序。下载地址：https://www.python.org/downloads&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527182536.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;点击下载完成后双击运行下载的.exe文件&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;点击勾选Add Python 3.6 to PATH&lt;/li&gt;
&lt;li&gt;点击Install Now&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527182618.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;安装完成后关闭窗口&lt;/p&gt;
&lt;p&gt;然后下载脚本文件。&lt;a href=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/kscx.zip&#34;&gt;点击此处下载&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;下载完成后将压缩包解压&lt;font color=&#39;red&#39;&gt;【一定要全部解压，否则无法执行，请勿在压缩软件内直接执行】&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;解压完成后将文件夹内的get.py这个文件，右键菜单内点击打开方式选择记事本&lt;/p&gt;
&lt;p&gt;打开后按照提示修改文件【图中标记的地方需要修改】
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527182953.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;修改完成后保存文件【快捷键：Ctrl+S】&lt;/p&gt;
&lt;p&gt;然后右键以管理员身份运行文件夹下的get.bat文件即可。【请勿关闭任何弹出的窗口】
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527183044.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;接下来就只需要耐心等候了~&lt;/p&gt;
&lt;p&gt;愿各位小伙伴都能考出好成绩！(oﾟvﾟ)ノ以上&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/python/">Python</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>Azure SQL 数据库中的DTU和eDTU是什么</title>
                <link>https://blog.xlclan.com/posts/azure-sql-%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E7%9A%84dtu%E5%92%8Cedtu%E6%98%AF%E4%BB%80%E4%B9%88/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/azure-sql-%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E7%9A%84dtu%E5%92%8Cedtu%E6%98%AF%E4%BB%80%E4%B9%88/</guid>
                <pubDate>Thu, 01 Mar 2018 18:11:53 &#43;0800</pubDate>
                
                
                
                    <description>&lt;blockquote&gt;
&lt;p&gt;本文转载自：微软云计算: Microsoft Azure 中文博客
Max Shen 沈云
技术解决方案专家&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Azure SQL 使用了数据库事务单位 (DTU) 和弹性数据库事务单位 (eDTU) 来作为一个计量单位。 但是DTU和eDTU 究竟是什么？
在官方文档中是这样解释的：
DTU 是一个资源度量单位，表示保证可用于单一数据库服务层内特定性能级别的单个 Azure SQL 数据库的资源。 DTU 是一定比例的 CPU、内存和数据 I/O 以及事务日志 I/O 的混合度量值，该比例由 OLTP 基准工作负荷决定（OLTP 基准工作负荷代表真实的 OLTP 工作负荷）。&lt;/p&gt;
&lt;p&gt;这段话说起来有些难以理解，所谓一定比例的CPU、内存和数据库I/O这个就摸不着头了。 然后这些资源的比例又是按照OLTP的基准工作负荷来决定。OLTP基准工作负荷这个又是一个新东西，参见：https://www.azure.cn/documentation/articles/sql-database-benchmark-overview/&lt;/p&gt;
&lt;p&gt;其实DTU简单理解就是衡量Azure提供的SQL 服务计算能力的一个指标。这个指标越大，SQL 的计算能力越强。如100个DTU比5个DTU就应该是强20倍。
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527181612.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;而DTU的性能评估，可以参看下表：
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527181648.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;可以从上表上对应于本地数据库的性能采集的指标，可以估算出应该使用什么样级别的AZURE SQL。 当然服务层选择后仍然可以进行更改。
对于自己的应用应该用多大规模的DTU，可以进行详细的评估，可以使用下面工具
Azure SQL Database DTU Calculator
所以，DTU就理解为Azure数据库的性能评估单位 。&lt;/p&gt;
&lt;p&gt;那么什么是eDTU呢，DTU虽然不太好理解，但是从构架来说，不外乎就是为应用提供数据库服务，也即是我们常用的模型，使用起来也简单。我们称之为单一数据库。要理解eDTU我们先要讲讲什么是Azure 弹性数据库。&lt;/p&gt;
&lt;p&gt;但是在云的时代就有一个典型的问题存在：所有应用几乎都会有峰值和低谷。而单一数据库一旦分配，资源就已经提供，没有高峰和低谷的区别。那么如何解决这样的问题呢。通常有两个选项：(1) 基于高峰使用情况过度设置资源，因此需要支付额外的费用，或者 (2) 为了节省成本而采用低配，但在高峰期间会出现性能下降而导致客户满意度降低。&lt;/p&gt;
&lt;p&gt;弹性数据库就是为了解决这样的问题而诞生。弹性池通过确保数据库在需要时获得所需的性能资源来解决此问题。它们在可预测的预算内提供简单的资源分配机制。&lt;/p&gt;
&lt;p&gt;其实这样理解，我们可以创建一个弹性的数据库池，而多个数据库使用这个池，充分利用池的资源。池很适合具有特定使用模式的大量数据库。对于给定的数据库，此模式的特征是低平均使用量与相对不频繁的使用高峰。可以加入池的数据库越多，就可以节省更多的成本。具体取决于应用程序使用模式，你可能会看到与使用两个 S3 数据库相同的成本节约。&lt;/p&gt;
&lt;p&gt;下图显示了一个数据库示例，该数据库有大量的闲置时间，但也会定期出现活动高峰。这是适合池的使用模式：
&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527181835.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;在所示的五分钟时间段内，DB1 高峰最高达到 90 个 DTU，但其整体平均使用量低于五个 DTU。在单一数据库中，运行此工作负荷需要 S3 性能级别，但在低活动期间，大多数资源都处在未使用的状态。&lt;/p&gt;
&lt;p&gt;池可让这些未使用的 DTU 跨多个数据库共享，因此减少了所需的 DTU 数和总体成本。&lt;/p&gt;
&lt;p&gt;以上一个示例为基础，假设有其他数据库具有与 DB1 类似的使用模式。在接下来的两个图形中，4 个数据库和 20 个数据库的使用量分层放在相同的图形上，以说明随时间推移，它们的使用率非重叠的性质：
&lt;img alt=&#34;1&#34; src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527182043.png&#34;&gt;
&lt;img alt=&#34;2&#34; src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/20220527182111.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;在上图中，黑线表示跨所有 20 个数据库的聚合 DTU 使用量。其中表明聚合 DTU 使用量永远不会超过 100 个 DTU，并指出 20 个数据库可以在此时间段内共享 100 个 eDTU。相比于将每个数据库放在单一数据库的 S3 性能级别，这会导致 DTU 减少 20 倍，价格降低 13 倍。&lt;/p&gt;
&lt;p&gt;由于以下原因，此示例很理想：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每一数据库之间的高峰使用量和平均使用量有相当大的差异。&lt;/li&gt;
&lt;li&gt;每个数据库的高峰使用量在不同时间点发生。&lt;/li&gt;
&lt;li&gt;eDTU 将在多个数据库之间共享。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;池的价格取决于池的 eDTU。尽管池的 eDTU 单位价格比单一数据库的 DTU 单位价格多 1.5 倍，但池 eDTU 可由多个数据库共享，因而所需的 eDTU 总数更少。定价方面和 eDTU 共享的这些差异是池可以提供成本节省可能性的基础。&lt;/p&gt;
&lt;p&gt;所以eDTU一个池化DTU的概念，单一数据库性能可以动态的进行调节，而池中的数据库也可以进行添加删除。&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;更多相关信息和详细信息可以参考 SQL 数据库文档
&lt;a href=&#34;https://www.azure.cn/blog/2017/02/28/AzureDtuAndEdtu&#34;&gt;https://www.azure.cn/blog/2017/02/28/AzureDtuAndEdtu&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/azure/">Azure</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/">数据库</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/dtu/">DTU</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/edtu/">EDTU</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>Linux下实现访问ASP和PHP网站</title>
                <link>https://blog.xlclan.com/posts/linux%E4%B8%8B%E5%AE%9E%E7%8E%B0%E8%AE%BF%E9%97%AEasp%E5%92%8Cphp%E7%BD%91%E7%AB%99/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/linux%E4%B8%8B%E5%AE%9E%E7%8E%B0%E8%AE%BF%E9%97%AEasp%E5%92%8Cphp%E7%BD%91%E7%AB%99/</guid>
                <pubDate>Fri, 26 Jan 2018 18:05:32 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;鉴于网上各路大佬的方法均为Apache+Nginx配合，感觉较为繁琐，而且我这方法也能满足我的需求，所以分享给大家。首先，Linux服务器的准备，就不赘述了，不过，考虑到Mono（http://www.mono-project.com）的安装，建议使用Debian、Ubuntu、CentOS系统。至于Nginx，建议使用LNMP（https://lnmp.org）一键安装，其意思是：L：Linux，N：Nginx，M：MySQL，P：PHP。&lt;/p&gt;
&lt;p&gt;借助SSH工具，首先安装LNMP（https://lnmp.org/install.html），然后安装Mono（http://www.mono-project.com/download/#download-lin）选择对应系统的安装命令。Ubuntu和Debian下注意安装mono-devel、mono-xsp4，CentOS下注意安装mono-devel、xsp。其实mono-devel肯定是必要的，不过我怕出错，安装的是mono-complete，关键区别在于mono-xsp4和xsp，因为系统不同，不过最后运行的都是fastcgi-mono-server4服务。&lt;/p&gt;
&lt;p&gt;一切准备就绪后，我们就开始进行配置工作。借助SFTP工具打开（编辑）/usr/local/nginx/conf/nginx.conf文件，这是Nginx的配置文件，需要注意的是路径问题，因为这用的是LNMP一键安装包，所以为此路径，待会儿出现的所有路径同理。修改（参考：http://www.mono-project.com/docs/web/fastcgi/nginx）：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;server {
         listen   80;
         server_name  www.domain.com;
         root /home/wwwroot/default;
 
         location / {
                 index index.html index.htm default.aspx Default.aspx;
                 fastcgi_index Default.aspx;
                 fastcgi_pass 127.0.0.1:9000;
                 include /usr/local/nginx/conf/fastcgi_params;
                  }
      }
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;打开（编辑）/usr/local/nginx/conf/fastcgi_params文件，在底部添加：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;fastcgi_param PATH_INFO &amp;#34;&amp;#34;;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;打开（编辑）/etc/init.d/nginx文件，这是Nginx的状态管理文件，在start的if判断句相应位置处添加下列命令让fastcgi-mono-server4服务同Nginx一起启动：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;fastcgi-mono-server4 /applications=/:/home/wwwroot/default/ /socket=tcp:127.0.0.1:9000 &amp;amp;amp;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;好了，配置完毕，重启一下Nginx：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;service nginx restart
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;创建一个.net framework 4.0的ASP网站预览一下看看，此时还得考虑MySQL的连接问题，当然如果VPS或其他Cloud Server及服务器内存大于或等于2GB，硬盘大于或等于6GB的话，可以继续使用SQL Server，参考：https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup&lt;/p&gt;
&lt;p&gt;至于使用MySQL呢，因为LNMP已经一键安装啦！只需要配置连接即可。打开https://dev.mysql.com/downloads/connector/net/ 选择Generally Available(GA) Releases即可，Select Operating System:.NET &amp;amp; Mono即可，Download。页面跳转后选择No thanks, just start my download.不用Login也不用Sign Up。下载解压后使用Visual Studio平台添加引用版本号文件夹下的MySql.Data.dll组件到解决方案，确保3306端口已开，MySQL用户的IP权限已给，至此MySQL的连接问题搞定，连接语句的语法与SQL Server类似。&lt;/p&gt;
&lt;p&gt;接下来，就是搞定PHP站点。通过域名的DNS解析，先添加一个二级域名，如：php.domain.com。此时记录类型选择显性URL（如选择隐性URL则会造成网站标题不能显示，只会显示当前设置的二级域名），主机记录填上php，记录值填上http://domain.com:XXXX(欲设置的端口号，可为1024~65535，建议还是自查一下，避免端口冲突)，其余默认即可。&lt;/p&gt;
&lt;p&gt;打开SSH工具，添加网站(虚拟主机)，参考：https://lnmp.org/faq/lnmp-vhost-add-howto.html 注意这里就不要添加SSL证书了，不过443端口（https）可以分配给默认的80端口。&lt;/p&gt;
&lt;p&gt;完成后打开（编辑）/usr/local/nginx/conf/vhost/php.domain.com.conf文件，复制所有信息，粘贴到/usr/local/nginx/conf/nginx.conf文件的最后一个server下面，并修改listen处的端口信息，此端口号与设置DNS解析时记录值处填写的相同，页脚的语句include vhost/*.conf;可用#注释掉，保存。至于/usr/local/nginx/conf/vhost/php.domain.com.conf文件可删除。&lt;/p&gt;
&lt;p&gt;至此，所有配置完成，上传网站程序到相应目录就能访问啦~~~！&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/linux/">Linux</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/asp/">ASP</category>
                                
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/php/">PHP</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>实现ASP.NET发送验证码至邮箱以验证邮箱可用性</title>
                <link>https://blog.xlclan.com/posts/%E5%AE%9E%E7%8E%B0asp.net%E5%8F%91%E9%80%81%E9%AA%8C%E8%AF%81%E7%A0%81%E8%87%B3%E9%82%AE%E7%AE%B1%E4%BB%A5%E9%AA%8C%E8%AF%81%E9%82%AE%E7%AE%B1%E5%8F%AF%E7%94%A8%E6%80%A7/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E5%AE%9E%E7%8E%B0asp.net%E5%8F%91%E9%80%81%E9%AA%8C%E8%AF%81%E7%A0%81%E8%87%B3%E9%82%AE%E7%AE%B1%E4%BB%A5%E9%AA%8C%E8%AF%81%E9%82%AE%E7%AE%B1%E5%8F%AF%E7%94%A8%E6%80%A7/</guid>
                <pubDate>Fri, 12 Jan 2018 17:55:03 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;p&gt;最近MSP内正在大开脑洞，制作基佬紫狗牌(⁄ ⁄•⁄ω⁄•⁄ ⁄)，还打算搭建一个MSP的&lt;del&gt;征婚&lt;/del&gt;网站，在制作时就在思考使用ASP.NET实现发送验证码至邮箱以验证邮箱可用性。&lt;/p&gt;
&lt;p&gt;接下来是我的思路：&lt;/p&gt;
&lt;p&gt;首先使用RegularExpressionValidator控件验证邮箱格式是否正确&lt;/p&gt;
&lt;p&gt;然后使用Random类获取伪随机数&lt;/p&gt;
&lt;p&gt;通过调用MailMessage和SmtpClient两个类向用户邮箱发送随机数&lt;/p&gt;
&lt;p&gt;用户输入随机数验证邮箱可用性&lt;/p&gt;
&lt;p&gt;打开清真的Visual Studio 2017【在此感谢微软&lt;del&gt;爸爸&lt;/del&gt;提供的各种密钥！】没有专业/企业版的同学可以使用社区版VS！_:(´ཀ`」 ∠):_&lt;/p&gt;
&lt;p&gt;输入邮箱以接收邮件的前台代码：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;输入邮箱：&amp;lt;asp:TextBox ID=&amp;#34;TextBox1&amp;#34; runat=&amp;#34;server&amp;#34;&amp;gt;&amp;lt;/asp:TextBox&amp;gt;
         &amp;lt;asp:RegularExpressionValidator ID=&amp;#34;RegularExpressionValidator1&amp;#34; runat=&amp;#34;server&amp;#34; ControlToValidate=&amp;#34;TextBox1&amp;#34; ErrorMessage=&amp;#34;RegularExpressionValidator&amp;#34; ValidationExpression=&amp;#34;\w+([-+.&amp;#39;]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*&amp;#34;&amp;gt;&amp;lt;/asp:RegularExpressionValidator&amp;gt;
        &amp;lt;br /&amp;gt;
        &amp;lt;asp:Button ID=&amp;#34;Button1&amp;#34; runat=&amp;#34;server&amp;#34; Text=&amp;#34;发送验证码&amp;#34; OnClick=&amp;#34;Button1_Click&amp;#34; /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;输入邮箱以接收邮件的后台代码：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;string chkCode = string.Empty;
        //验证码的字符集，去掉了一些容易混淆的字符
        char[] character = { &amp;#39;2&amp;#39;, &amp;#39;3&amp;#39;, &amp;#39;4&amp;#39;, &amp;#39;5&amp;#39;, &amp;#39;6&amp;#39;, &amp;#39;8&amp;#39;, &amp;#39;9&amp;#39;, &amp;#39;A&amp;#39;, &amp;#39;B&amp;#39;, &amp;#39;C&amp;#39;, &amp;#39;D&amp;#39;, &amp;#39;E&amp;#39;, &amp;#39;F&amp;#39;, &amp;#39;G&amp;#39;, &amp;#39;H&amp;#39;, &amp;#39;J&amp;#39;, &amp;#39;K&amp;#39;, &amp;#39;L&amp;#39;, &amp;#39;M&amp;#39;, &amp;#39;N&amp;#39;, &amp;#39;P&amp;#39;, &amp;#39;R&amp;#39;, &amp;#39;S&amp;#39;, &amp;#39;T&amp;#39;, &amp;#39;W&amp;#39;, &amp;#39;X&amp;#39;, &amp;#39;Y&amp;#39; };

        Random rnd = new Random();

        //生成验证码字符串
        for (int i = 0; i &amp;lt; 4; i++)
        {
            chkCode += character[rnd.Next(character.Length)];
        }
        MailMessage mymail = new MailMessage();          //声明一个Mail对象  
        mymail.From = new MailAddress(&amp;#34;xxxxx@163.com&amp;#34;);    //发件人地址  
        mymail.To.Add(new MailAddress(TextBox1.Text));   //收件人地址  
        mymail.Subject = &amp;#34;XXX网站验证码&amp;#34;;                  //邮件主题  
        mymail.Body = chkCode.ToString();                     //发送邮件的内容  
                                                         //创建一个邮件服务器类  
        SmtpClient myclient = new SmtpClient();
        myclient.Host = &amp;#34;smtp.163.com&amp;#34;;
        //SMTP服务端口  
        myclient.Port = int.Parse(&amp;#34;25&amp;#34;);
        //验证登录  
        myclient.Credentials = new NetworkCredential(&amp;#34;xxxxx@163.com&amp;#34;, &amp;#34;xxxxx&amp;#34;);//这里填入发件人的用户名和密码
        myclient.Send(mymail);
        Session[&amp;#34;chkCode&amp;#34;] = chkCode;    //将验证码传值到Default2
        Response.Redirect(&amp;#34;Default2.aspx&amp;#34;);    //跳转至Default2页面
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;用户输入验证码以检查邮箱可用性前台代码：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;输入验证码：&amp;lt;asp:TextBox ID=&amp;#34;TextBox2&amp;#34; runat=&amp;#34;server&amp;#34;&amp;gt;&amp;lt;/asp:TextBox&amp;gt;
        &amp;lt;asp:RegularExpressionValidator ID=&amp;#34;RegularExpressionValidator2&amp;#34; runat=&amp;#34;server&amp;#34; ControlToValidate=&amp;#34;TextBox2&amp;#34; ErrorMessage=&amp;#34;RegularExpressionValidator&amp;#34; ValidationExpression=&amp;#34;^[0-9]{4}$&amp;#34;&amp;gt;&amp;lt;/asp:RegularExpressionValidator&amp;gt;
        &amp;lt;br /&amp;gt;
        &amp;lt;asp:Button ID=&amp;#34;Button2&amp;#34; runat=&amp;#34;server&amp;#34; Text=&amp;#34;检查邮箱&amp;#34; OnClick=&amp;#34;Button2_Click&amp;#34; /&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;用户输入验证码以检查邮箱可用性后台代码：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;String chkCode;    //定义chkCode变量
chkCode = Session[&amp;#34;chkCode&amp;#34;].ToString();   //接收Default传值
if (TextBox2.Text == chkCode)     //判断验证码是否正确
{
    Response.Write(&amp;#34;&amp;lt;script languane=&amp;#39;javascript&amp;#39;&amp;gt;alert(&amp;#39;验证码正确！&amp;#39;)&amp;lt;/script&amp;gt;&amp;#34;);
}
else
{
    Response.Write(&amp;#34;&amp;lt;script languane=&amp;#39;javascript&amp;#39;&amp;gt;alert(&amp;#39;验证码错误！&amp;#39;)&amp;lt;/script&amp;gt;&amp;#34;);
}
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;以上就是我解决ASP.NET注册验证邮箱的思路以及代码！&lt;/p&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/asp.net/">ASP.NET</category>
                                
                            
                        
                    
                
            </item>
        
            <item>
                <title>上海之旅</title>
                <link>https://blog.xlclan.com/posts/%E6%9C%80%E7%BE%8E%E7%9A%84%E9%A3%8E%E6%99%AF%E9%81%87%E8%A7%81%E6%9C%80%E5%8F%AF%E7%88%B1%E7%9A%84%E4%BA%BA/</link>
                <guid isPermaLink="true">https://blog.xlclan.com/posts/%E6%9C%80%E7%BE%8E%E7%9A%84%E9%A3%8E%E6%99%AF%E9%81%87%E8%A7%81%E6%9C%80%E5%8F%AF%E7%88%B1%E7%9A%84%E4%BA%BA/</guid>
                <pubDate>Tue, 26 Apr 2016 20:33:04 &#43;0800</pubDate>
                
                    <author>Shiiko@xlclan.com (Shiiko)</author>
                
                <copyright>[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh)</copyright>
                
                    <description>&lt;blockquote&gt;
&lt;p&gt;记4月1~4日上海游&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/IMG_9384.JPG&#34;&gt;&lt;/p&gt;
&lt;h1 id=&#34;41-出发&#34;&gt;4.1-出发&lt;/h1&gt;
&lt;p&gt;在我出发前一个月，因为各种各样的事情，并没有对此次上海之行产生期待以及欢喜的心情。&lt;/p&gt;
&lt;p&gt;在出发前一晚，我预想好了我明天要怎么走，什么时候出发...&lt;/p&gt;
&lt;p&gt;但是......第二天一切都变啦！早上起来准备跑早操时头痛欲裂，于是就没去跑早操；到了9点钟，睡不着了，决定起来收拾东西，出门早一些（我在之前一个月内做了好几次因为各种各样问题而导致误机的梦，每次都一身冷汗醒起来~）收拾好东西，理智告诉我我应该吃点东西，于是我去食堂吃了点豆浆油条~我10点出门后，因为当天晚上答应阿晨给她买润眼液，于是出发去医院准备买润眼液去。没想到！！！一路顺利的我11点就到了医院~；买润眼液的时候医生说：“顺便复查一下你的眼睛吧”复查时发生了一件奇葩的事情，医生让我把眼镜取了，因为我想带着干净的眼镜盒去上海，不想到处漏护理液~我就从袋子里找了一个看起来比较干净比较好的眼镜盒。这个眼镜盒惹出大麻烦了，我眼镜取下放在里面，吸在上面了~这时我才想起来，这么好的一个眼镜盒为什么我要洗干净放着~眼镜吸在了上面一直无法取下，在这里成功拖延了30分钟~。复查完成后医生告诉我出门右转公交站可以坐到机场大巴（此时的我完全没觉得有什么不对，在前一天晚上这个时候才应该从学校出发啊！）无辜的我就这样坐上机场大巴！！！更意外的事情发生了，机场大巴30分钟就到了机场2333333&lt;/p&gt;
&lt;p&gt;到了机场的我像刘姥姥进大观园一样，什么都觉得很新奇，及时的去取了票。取票后我在机场逛来逛去~看怎么登机，行李需不需要托运......飞机的起飞场景，还有厕所在哪等等......&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/WP_20160401_005.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;但是我悲伤的发现自己......来早了，逛了很多圈时间也还很早很早~我找了个位置坐下，打开电脑看小埋！！！&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/WP_20160401_015.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;边上有个人来坐下了，发现我在看小埋于是就问，这是干物妹么？我戴着耳机，听了很多遍都没能听清楚，听清楚后我回了句嗯，于是他就开始和我一起看小埋啦！！！我给了他一只耳机，他刚开始说不用，后来还是戴上了！但是！！！我的耳机明明是挂耳式的，他为什么能戴成入耳式的！！！！表示强迫症想帮他重新戴，然而还是没下得去手~看了一集之后~他走啦！！走啦！！QAQ人家后来的都去登机了，我还在这里苦苦等待，百无聊赖加饥饿的驱使下，我走进了一家老昆明早餐店~然而进去我就发现我错了QAQ和老昆明毫无关系，这明明是个西餐厅好吗？？？？忍痛点了个40块钱一块的蛋糕后~，就在位置上玩手机，看到边上有人在用Surface 3觉得好神奇！！！于是拍照了!&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/WP_20160401_014.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;嗯~中间各种无聊各种羡慕（羡慕比我晚到机场比我早到上海的某人）好不容易熬到了下午5点钟，我决定我要去安检啦~受不了在外面的日子了。安检时不能拍照。但是！！！昆明的安检好严啊！我排了很长的队进去（这种时候我居然完全没有觉得无聊，毕竟之前等了4个小时）我刚刚排进去武警蜀黍就面无表情的说：“兜里的东西全部掏出来，钱包、手机、钥匙，背包里有笔记本也掏出来”，我问；“只有笔记本吗？”（因为我预感到移动电源什么的也要拿出来）果然“充电宝，笔记本都拿出来”等我弄完，他把包拿去过了安检，笔记本什么的直接放过去了，然后我通过安检门，他叫我站在台子上，手抬平。超熟练的把我全身摸了一遍~包括皮带一圈都被他拉了一遍.然后他叫我坐在边上的凳子上，给了我一个框，让我把鞋子脱了放在里面，然后把装鞋子的盒子拿去过安检啦！！！叫我抬起脚~脚也要用金属检测仪检测一遍啊啊啊啊啊！！！！过了安检看见后面的人，连外衣都要拖!还好我没穿外衣&lt;/p&gt;
&lt;p&gt;等我进去才发现！！里面的4G网络好好啊！！！我早为什么不进来玩电脑呢！！！！玩到18点25，工作人员来说，因为本公司原因，导致航班延误半个小时登机，这瞬间我的心情，坠入冰窟Orz，晚点还能赶得上最后一趟磁悬浮么？乐天的我安稳自己......没事的，晚半小时还来得及~果然是天真的我！！！在等了半小时后，开始登机了。此时的我心急如焚，怎么还不起飞，怎么还不起飞！！！！广播来了“亲爱的旅客，因为机场调度问题，飞机延迟起飞，给你带来的不便敬请谅解”这个时候......我已经完全不去想时间问题了！！身为时间强迫症患者，这种延迟怎么能忍！！！！整整一个小时！！！！&lt;/p&gt;
&lt;p&gt;终于！飞机降落了，22：58！！！！哭瞎QAQ完全没车了吗？这个时候！！！伟大的小罗出现啦！告诉我了守航夜宵大巴的存在！！！（此时我在纠结要不要到在机场过夜明早再去市区里）小罗告诉我守航夜宵大巴的存在后。我决定，我还是晚上进市区吧！周围的酒店好贵，据说锦江之星浦东机场2店还没房间了。我出来的时候还问了一个看起来像机场工作人员的人，结果扯了半天发现她是某酒店的托，并没有给我带来什么有用消息，我出了机场，坐上了机场大巴，边上坐着的人就问我这辆车到不到虹桥？我说到（这人到底是有多呆？？）她又问这辆车到哪些站？我给她看了小罗发的截图（小罗Good!!!)然后她问我有没有移动电源，我说有，能借她用用。嗯~这瞬间发现我话好少。我觉得应该表现出更和谐的态度,决定和她说点话，就问她“你连站都不知道怎么敢上车？”她说她去到那里司机就很热心的把她的包放到了车上，她就这样上来了（我在心中大喊！！怎么会有这么呆的人23333）在车上小罗告诉我要在静安寺下，然后再次告诉我一种我完全不知道的东西：夜班车。上海晚上居然还有夜班公交车，告诉我可以转车什么的，但是他建议打车。我下车后打开电脑查了一下我的酒店名字,之前完全忘记了。然后小罗告诉我如果要乘夜班车还要等30分钟，于是我决定打车啦！！！打车之后发现好近啊!19块钱送到了巷子口，走进去就看到了国际青年旅社的标志！进去发现客厅还有人在欢乐的聊天，凌晨1点钟才到，住宿环境还不错，我进去时已经有两个人在里面睡着了，有一个还是金黄头发的外国人......安静的收拾东西，洗漱睡觉。&lt;/p&gt;
&lt;h1 id=&#34;42-面基第一天&#34;&gt;4.2-面基第一天&lt;/h1&gt;
&lt;p&gt;早上是自然醒啊啊啊啊！！！我起来看群里各种消息，决定去找七叔他们。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/WP_20160402_002.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;但是！！！我看地图看错了Orz两条标志性的路被我搞反了，走过去问了交警蜀黍，人家才告诉我中山公园在那边/手指！我再次绕回去，然后背后就有个早起遛狗的帅小伙来问我“请问你需要帮助吗？”（此刻我疑惑的眼神传递过去）“我刚才看你就往那边走，现在又绕回这里，是不是找不到地方了？告诉我地址我给你指路吧”此时一脸懵逼外加生人勿进的气场的我回了句“不用，刚才我搞错路了，现在找到了，谢谢”大概是看我很不好相处~他默默走开了（表示后来回想好对不起人家QAQ都没好好道谢）&lt;/p&gt;
&lt;p&gt;当我到了中山公园站时，我又懵逼了0.0这到底是往左手边走还是右手边走，QQ群里说小狼来接我的同时花花发位置来了，表示完全没看懂QQ的那个定位地图~但是初步判断是往左走，于是在群里发消息给小狼说不用来接我了（他好像没看到）我开始向我预设那个方向走，结果，越走越觉得不对-。-完全没看到之前七叔发的路景那个建筑（当时根本没想到这么远！！！！）小狼在群里说让在原地不要乱动。于是我飞速跑了回去.跑回去后在路口站着看行人走来走去，期望看见我所等待的那些人。在这期间我看见一个因为闯红灯被罚款的行人，在和交警蜀黍说什么我只是没注意，一不小心走过了什么的，希望能免去罚款。最后还是被罚了；在我苦苦等待下！！！我看见花花啦！！！迫不及待得走过去，但完全不知道该说什么，默默把人认了一遍=。=花花比上次见面胖了些（我这是冒了多大风险说出的这句话233333），cc比想象中的瘦好多！！！！水色表示第一次见，以前也不熟所以表示没什么感觉=。=.七嫂七叔我看了半天才认出来&lt;/p&gt;
&lt;p&gt;七叔带我去放包，一路上发现七叔好呆萌的样子-.-，和他说了几句话，他话也少，我的话也少，一路冷场，放完包他说花花他们到KFC里等我们，找到花花他们后我第一次吃KFC的东西~吃的时候CC还完全不顾我形象的拍照。刚刚吃完KFC，出门花花就问定西路在哪？据说那里一条路吃的，七叔纠结着汤包，吃吃吃！！！这才像是花花组织的面基嘛！！！吃完汤包发现柚子已经到虹桥火车站了，看了看时间阿晨也差不多要到了，小武已经在来中山公园的路上。之前答应过阿晨说她下飞机要接她，于是决定我一个人去接小武把房间开了然后把包放着去接柚子然后去接阿晨。在等小武的时候我也是站在等花花他们的位置上，小武打电话说到中山公园站了，从8号出站口走出来（这时懵逼的我只是感觉8号出站口我走过TAT）我就问小武有没有看到我背后的建筑&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://raw.githubusercontent.com/Shiikos/docs-img/main/WP_20160402_006.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;（表示我忘记了那建筑是什么龍来着？），小武说我看到了，我说我在这下面等你，然后在他等红绿灯时！！我隔着马路认出了他\(^_^)/那边一堆人，我就感觉我等的就是他!!，于是电话里和小武说我看见你了。见面时我们的话也很少=。=，两个人去把包放了之后。坐上地铁的我收到柚子说不用去火车站接她了，她到虹桥机场了，她在那里等我们一起去接阿晨。到了淞虹路地铁要换乘，我和小武下来时遇到一个外国人问“%￥￥￥%###@￥#@￥@￥#@￥#￥#%￥”表示我完全听不懂QAQ只听到小武在不停地yes,yes（感觉好怪）之后我问小武他说什么，小武说他在问去虹桥是不是在这里换乘。这瞬间我被打击了Orz.上车后阿晨的电话来了，说她到机场了，问我们在哪里，我让她等等，我们马上到了！！！然后都没走错路一路就很顺利的走到了P6会合点，正朝下机口走去，边走我边准备给柚子打电话问她在哪，那时眼边闪过一道人影0.0顿时觉得这好像就是柚子，叫住了小武，然后电话刚刚通，看到面前那个妹子掏出手机接了电话后！！！！超激动！！！挂断电话，走上前去“柚子”（很小一声）看到柚子迷茫的抬起了头，于是急忙解释“我是椎子，他是小武”柚子那表情、还有那灿烂的笑容，印象深刻啊！见面之后我打电话问阿晨在哪，阿晨说她刚刚出来，到了P7会合点，，一路找着过去，看谁都不像咧？柚子突然冲上去大叫“短短！”抱住了一个人，那时我还没反映过来什么情况，她们两个已经拉着手走过来了&lt;/p&gt;
&lt;p&gt;回去的时候差点迷路（说好的不会迷路的呢？（╯‵□′）╯︵┴─┴）嗯，不管怎么说，我们还是成功走出来了！！然后此时听闻阿梦到了，于是我萌决定在虹桥机场地铁站等他，这时的柚子已经累得奄奄一息了눈_눈。于是在地铁站台找了个位置坐下╰(&lt;em&gt;°▽°&lt;/em&gt;)╯一边聊天一边等着阿梦的到来~在这期间我们听柚子诉说她那神奇的母上大人(๑&amp;gt;◡&amp;lt; ๑) 听柚子说：她和母上大人说要来上海听音乐会，还有些不放心，但是听说有宫吧的小伙伴来接瞬间就OK啦！！得知水色也去的时候！更放心惹_(:3」∠)_羡煞我等。大家都表示好羡慕。（感觉这里应该多写一些2333可是忘记细节了Orz）各种联系之下，等来了阿梦！！！因为之前只是在面基群里聊过几次，没什么先入为主的印象，直接就见了本人了。所以阿梦给我的印象就是......黑眼圈好浓（我造我也没资格说他Orz）&lt;/p&gt;
&lt;p&gt;在坐地铁到酒店的路上，柚子一直在说想吃米芝莲的鸡蛋仔，说的很多，但是越听我越懵逼_(:3」∠)_，完全听不懂米芝莲到底是什么鬼（没见过世面的孩子哭晕在厕所）听柚子说的很好吃的样子，我还以为鸡蛋仔是某种液体与固体的混合物~，然后各种疑惑，和芋圆有什么区别呢？听说在出站口外面就有，期待的我在下车时因为下雨吧？带他们从4号口出来，完全错过了米芝莲。到了酒店后~在酒店里休息了一下，吃了柚子带的零食233333.再次出发向东方艺术中心出发！！！准备在东艺附近找点吃的~把大家的肚子喂饱╰(*°▽°*)╯结果出了地铁口举目望去，哪都不像有吃的（╯‵□′）╯︵┴─┴于是我们再次转回地铁站里，里面各种小吃，可是为啥大家要吃过桥米线呢？？？为啥我一个云南人去上海还要吃过桥米线？？？？好吧，吃就吃吧=。=只要他们开心就好~进去看看菜单，各种稀奇古怪的......过桥米线，我个云南人都没见过这么奇葩的过桥米线，反正都没吃过，我就想着选个**鱼（忘记啥鱼了）过桥米线，还是酸汤的_(:3」∠)_(云南从来不用酸汤弄米线，之所以选那个什么鱼，那是因为我没吃过233333），向柚子和阿晨推荐了原味的过桥米线（2333只有这个看起来比较像云南的过桥米线）&lt;/p&gt;
&lt;p&gt;米线来了，指导大家过桥米线该怎么吃，然后说云南的过桥米线是什么什么，当我吃了一口那个米线，我就后悔带他们来吃了TAT这难以嚼断的米线是什么鬼做的？在艰难的咀嚼后，终于吃完了这奇怪的米线_(:3」∠)_，在吃着东西时花花曾打电话说要来找我们，后来又决定不来了Orz，说在东艺等着我们。吃完后我们向东艺出发，这淅淅沥沥的雨是什么情况！！！我看着卫星地图走，因为没有标识，在我的意识里东方艺术中心应该是很大很大的！！！但是记忆中东方艺术中心是圆形建筑，于是我纠结了，地图上这小小的建筑不是东艺吧？边上那个扇形建筑才是东艺吧？一时间我纠结了，然后小武地图找到了，于是我们向着东艺走去，走到一半我看到东艺才突然想起来，边上那个上海科技馆比东艺大那么多！！！！东艺都这么大，那上海科技馆该有多大！！！！！瞬间被吓到了=。=在东艺门口见到了好多小伙伴！！！我比较关心的狮子也出现了，可是好像很激动的样子，完全没有注意到我，我明明站在了他的面前，他却说没见到我！（╯‵□′）╯︵┴─┴然后，在东艺门口站了一会，花花很累，于是决定我们几个没票的先回去，刚开始准备去吃点东西，刚刚走到地铁站，阿梦就打电话来说票落在宾馆了，找我要房卡，这时和花花交流就出问题了，我和花花说，你们是要先去吃东西还是先回酒店，如果先去吃东西我就和阿梦狂奔回去（我的包在七叔房间，我想拿出来放我房间）如果先回酒店我就和花花她们走回去，然后在路上等阿梦给我房卡，可是花花完全不理解的样子，说什么我们肯定不会跑回去啊什么的（完全无法理解的我Orz，明明我说的是我，问的是她们的行程来决定我的行程，可是为什么变成了我要改变她们的行程呢？）等到了阿梦，我们一起上了地铁，在地铁里的花花奄奄一息了OwO，那时的上海已经在开始天黑了，于是我和bug（第一次见面第一次听说，第一印象：好帅啊！！！）还有阿梦就在说为什么上海比云南天黑得早，如果那时飞机起飞到云南会不会越飞天越亮，中国东西跨了几个时区，上海和云南的地区时什么的。，在中途bug先下车了~~我们继续走，到了中山公园站阿梦开始狂奔！在向出站口走去的时候，花花和cc决定去吃麻辣烫！在地铁站地下商场里找了一家店坐着，打电话问阿梦到哪了，阿梦说从酒店出来了！！！完全吓到了花花她们23333飞一般的速度~这时狮子打电话来我看时间也差不多，就和花花她们说我去接阿梦，边走边接起了狮子的电话，狮子在电话里问我在哪，当得知我已经回酒店时狮子表示很遗憾=。=于是约定明天在····（在哪来着？我忘记了Orz）见面。阿梦一路狂奔过来，把房卡给我，再次狂奔(&lt;em&gt;°▽°&lt;/em&gt;)。这时我去找点花花她们，花花奇怪的问我狮子有什么事？懵逼的我看着花花完全不知道说什么=。=狮子找我没什么事啊！吃完回去的路上花花买了点零食回去。到酒店，打开电脑，无聊的我就开始逛知乎了OwO各种各种无聊后，小武他们终于回来了，洗澡睡觉~（晚上并没有什么卧床夜谈什么的Orz）&lt;/p&gt;
&lt;h1 id=&#34;43面基第二天&#34;&gt;4.3面基第二天&lt;/h1&gt;
&lt;p&gt;当我睁开眼时，小武和阿梦都已经起床~他们要起床去拿快递。于是我决定再赖一会床=。=这时阿晨打电话说要问我WiFi密码，我告诉她但是还是连不上，于是阿晨决定过来连WiFi,迷迷糊糊的我就看见一个长发美女走进了我的房间（没戴眼镜的我连一米外的人都看不清）正好她又换了衣服，完全认不出来是谁。当得知是阿晨时我惊讶了0.0阿晨变漂亮了（*/▽\*） 然后阿晨走后我决定起床了，洗漱完毕&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;未完待续......&lt;/p&gt;
&lt;/blockquote&gt;
</description>
                
                
                
                
                
                    
                        
                    
                        
                            
                                
                                
                                
                                    <category domain="https://blog.xlclan.com/tags/%E6%B8%B8%E8%AE%B0/">游记</category>
                                
                            
                        
                    
                
            </item>
        
    </channel>
</rss>
