-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.xml
More file actions
6807 lines (6719 loc) · 458 KB
/
index.xml
File metadata and controls
6807 lines (6719 loc) · 458 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>局域自由博客</title>
<link>https://localfreedom.pages.dev/</link>
<description>Recent content on 局域自由博客</description>
<generator>Hugo -- gohugo.io</generator>
<language>en-us</language>
<lastBuildDate>Sat, 25 Apr 2026 12:32:30 +0000</lastBuildDate><atom:link href="https://localfreedom.pages.dev/index.xml" rel="self" type="application/rss+xml" /><item>
<title>Docker 推荐后端 WSL2 完全离线安装</title>
<link>https://localfreedom.pages.dev/p/docker-%E6%8E%A8%E8%8D%90%E5%90%8E%E7%AB%AF-wsl2-%E5%AE%8C%E5%85%A8%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85/</link>
<pubDate>Sat, 25 Apr 2026 12:32:30 +0000</pubDate>
<guid>https://localfreedom.pages.dev/p/docker-%E6%8E%A8%E8%8D%90%E5%90%8E%E7%AB%AF-wsl2-%E5%AE%8C%E5%85%A8%E7%A6%BB%E7%BA%BF%E5%AE%89%E8%A3%85/</guid>
<description><img src="https://localfreedom.pages.dev/img/wsl2.jpeg" alt="Featured image of post Docker 推荐后端 WSL2 完全离线安装" /><p>这里介绍的适用于Linux的Windows子系统的离线安装使用方法,适用于 Windows 10 2004 及以上版本,含 LTSC 2021。
安装完成后可以直接作为Docker引擎的后端。</p>
<ol>
<li>从 <a class="link" href="https://github.com/microsoft/wsl/releases" target="_blank" rel="noopener"
>GitHub 发行页面</a>下载 WSL 的 MSI 套件</li>
<li>从 <a class="link" href="https://github.com/microsoft/WSL/blob/master/distributions/DistributionInfo.json" target="_blank" rel="noopener"
>DistributionInfo.json</a> 中找到下载发行版的 .wsl 文件URL并下载所选发行版</li>
<li>在控制面板 -&gt; 程序和功能 -&gt; 启用或关闭Windows功能
<ul>
<li>启用 虚拟机平台VirtualMachinePlatform</li>
<li>启用 适用于Linux的Windows子系统</li>
</ul>
</li>
<li>双击运行MSI包安装WSL
<ul>
<li>开始菜单会多出WSL的图标,可进入GUI进行一些设置。</li>
<li>打开 cmd 或 powershell 可以执行命令查看帮助 <code>wsl --help</code></li>
</ul>
</li>
<li>安装发行版
<ul>
<li>用管理员权限运行 <code>wsl --install --from-file &lt;location of wsl File&gt;</code></li>
<li>如 <code>wsl --install --from-file C:\Users\John\Downloads\ubuntu-24.04.4-wsl-amd64.wsl</code></li>
<li>会提示创建Linux发行版的用户名并设置密码</li>
<li>不同发行版不共享账号和存储</li>
</ul>
</li>
<li>启动WSL的发行版 <code>wsl -d &lt;DistroName&gt;</code></li>
<li>关闭WSL的发行版 <code>wsl -t &lt;DistroName&gt;</code></li>
<li>关闭所有在运行的发行版 <code>wsl --shudown</code></li>
</ol>
</description>
</item>
<item>
<title>远端BT设定</title>
<link>https://localfreedom.pages.dev/p/%E8%BF%9C%E7%AB%AFbt%E8%AE%BE%E5%AE%9A/</link>
<pubDate>Thu, 16 Apr 2026 07:39:33 +0000</pubDate>
<guid>https://localfreedom.pages.dev/p/%E8%BF%9C%E7%AB%AFbt%E8%AE%BE%E5%AE%9A/</guid>
<description><h2 id="introduce">Introduce
</h2><p>Linux系列发行版以稳定著称,常在 Server 上年复一年的运行。
自己的日常主用设备运行 BitTorrent 当然是不方便的,而如果有一台运行 Linux 的 Server 就非常适合运行 BitTorrent 客户端下载和分享。
这里介绍两种常见的 BitTorrent 桌面客户端在 Linux Server 的初始设置方法。</p>
<h2 id="transmission">Transmission
</h2><p>Transmission 常与 Gnome 桌面环境搭配,是 Ubuntu 等发行版的默认软件。</p>
<ol>
<li>远端使用需安装 transmission-daemon 套件</li>
<li>编辑设定档 <code>~/.config/transmission-daemon/settings.json</code> 中的几项
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-json" data-lang="json"><span class="line"><span class="cl"><span class="p">{</span>
</span></span><span class="line"><span class="cl"> <span class="nt">&#34;rpc-whitelist&#34;</span><span class="p">:</span> <span class="s2">&#34;0.0.0.0&#34;</span>
</span></span><span class="line"><span class="cl"><span class="p">}</span>
</span></span></code></pre></td></tr></table>
</div>
</div></li>
<li>建议禁止相关 systemd 服务</li>
<li>直接在当前命令行运行 transmission-daemon</li>
<li>访问 http://[ServerIP如1.2.3.4]:9091 即可</li>
</ol>
<blockquote>
<p>参考 <a class="link" href="https://thatman.life/transmission-web/" target="_blank" rel="noopener"
>https://thatman.life/transmission-web/</a></p>
</blockquote>
<h2 id="qbittorrent">qBittorrent
</h2><p>qBittorrent本身GUI可以开启WebUI,这里主要介绍完全远端无桌面环境的操作。</p>
<ol>
<li>远端使用需安装 qbittorrent-nox 套件</li>
<li>直接运行 <code>qbittorrent-nox --webui-port=端口默认8080</code> 命令可以完成初始化配置。
<ul>
<li>首次运行会监听所有IP地址,给出webui的默认用户名<code>admin</code>和一个随机密码。</li>
</ul>
</li>
<li>WebUI和桌面版基本一致,在 Tools-&gt;Options 中进行设置。</li>
<li>默认设定档于 <code>~/.config/qBittorrent/qBittorrent.conf</code> 首次访问 WebUI 会生成。</li>
<li>预设没有集成systemd服务,建议每次用tmux等手动运行更好。</li>
</ol>
<blockquote>
<p>参考 <a class="link" href="https://github.com/qbittorrent/qBittorrent/wiki/Running-qBittorrent-without-X-server-%28WebUI-only,-systemd-service-set-up,-Ubuntu-15.04-or-newer%29" target="_blank" rel="noopener"
>https://github.com/qbittorrent/qBittorrent/wiki/Running-qBittorrent-without-X-server-(WebUI-only,-systemd-service-set-up,-Ubuntu-15.04-or-newer)</a></p>
</blockquote>
<h2 id="summary">Summary
</h2><ul>
<li>博主更推荐 qBittorrent 功能更全面,支持更多进阶功能。</li>
<li>记得检查防火墙是否开放对应的 Port (Transmission 预设 9091,qBittorrent 预设 8080)。</li>
<li>安全性方面,建议将Server端监听IP设置为 127.0.0.1 通过 ssh 端口转发访问 <code>ssh -L 8080:127.0.0.1:8080 user@server</code>。</li>
</ul>
</description>
</item>
<item>
<title>Windows 10 LTSC 安装和基本配置要点</title>
<link>https://localfreedom.pages.dev/p/windows-10-ltsc-%E5%AE%89%E8%A3%85%E5%92%8C%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE%E8%A6%81%E7%82%B9/</link>
<pubDate>Fri, 10 Apr 2026 08:51:07 +0000</pubDate>
<guid>https://localfreedom.pages.dev/p/windows-10-ltsc-%E5%AE%89%E8%A3%85%E5%92%8C%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE%E8%A6%81%E7%82%B9/</guid>
<description><img src="https://localfreedom.pages.dev/img/windows_10_desktop.png" alt="Featured image of post Windows 10 LTSC 安装和基本配置要点" /><blockquote>
<p>Windows 10 的各个版本走向了生命的尽头。
本文主要备忘 Windows 10 安装时的注意事项,以作纪念。</p>
</blockquote>
<h2 id="download--bootable">Download &amp; Bootable
</h2><p>有一个网站 <a class="link" href="https://msdn.itellyou.cn/" target="_blank" rel="noopener"
>MSDN, I tell you!</a> 提供各种版本多语言的Windows安装镜像下载。
知名破解工具网站提供的<a class="link" href="https://massgrave.dev/windows_ltsc_links" target="_blank" rel="noopener"
>LTSC下载</a>,经对比验证也是可靠的。</p>
<p>MSDN消费者版本可看作官网下载的延续,但是商业版不能 HWID 激活。</p>
<p>LTSC 启动U盘直接格式化成<code>fat32</code>格式,然后将iso安装镜像内的文件复制进去即可。
Win10新版中有大于4GiB的档案,需要<code>NTFS</code>格式,并将<code>EFI</code>文件夹单独放在<code>fat32</code>分区。
建议直接使用 <a class="link" href="https://rufus.ie" target="_blank" rel="noopener"
>Rufus</a> 制作。</p>
<h3 id="其他安装辅助资料">其他安装辅助资料
</h3><p>为了顺利的执行整个安装和初始化过程应准备好一些资料。</p>
<ul>
<li>更新(LCS+.Net+Defender)</li>
<li>驱动(显卡、声卡、网卡等)</li>
<li>注册表脚本(时间UTC、图片打开等)
<a class="link" href="https://localfreedom.pages.dev/p/windows-%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%BD%BF%E7%94%A8%E6%8C%87%E5%8D%97/" >注册表脚本教程</a></li>
<li>激活工具</li>
<li>基础软件安装包 RAR+Firefox+Office+Rufus</li>
</ul>
<h2 id="system-setting">System Setting
</h2><ul>
<li>When installing, shutdown all the privacy items.</li>
<li>开启飞行模式</li>
<li>在控制面板电源管理中检查并[如果有]关闭睡眠和快速启动</li>
<li>关闭休眠以腾出C盘中内存一般体积的 <code>hiberfil.sys</code> 内存缓存文件: <code>powercfg -h off</code></li>
<li>Enable random hardware address(WLAN) <em>可能需要现安装无线网卡驱动才出现此选项</em>.
<ul>
<li><em>在保存的网络中配置每日变化随机MAC地址。</em></li>
</ul>
</li>
<li><em>使用UTC时间和Linux一致</em>
<ul>
<li>新建 Registry Item <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal</code> 设置为十六进制1</li>
</ul>
</li>
<li>Settings
<ul>
<li>System 电源选项忽略合盖从不睡眠</li>
<li>Privacy 检查所有项目尽可能关闭</li>
<li>Search 最小化</li>
<li>Devices 关闭蓝牙和自动播放</li>
</ul>
</li>
<li>资源管理器上方选项
<ul>
<li>显示隐藏文件</li>
<li>显示已知的文件扩展名</li>
<li>打开此电脑</li>
</ul>
</li>
<li>右键个性化: 桌面显示图标+启动菜单档案夹</li>
<li>任务管理器显示GPU</li>
<li>任务栏: 不显示人脉,搜索只显示图标,关闭资讯</li>
<li><em>微软拼音输入法设置-&gt;按键-&gt;中英文切换 取消<code>Shift</code>便于游戏</em></li>
<li><em>IE11浏览器选项每次删除浏览记录</em></li>
<li>应用商店关闭自动更新</li>
<li>Edge
<ul>
<li>Homepage</li>
<li>Download</li>
<li>Privacy</li>
</ul>
</li>
<li><em>LTSC解锁图片查看器</em>
<ul>
<li>Registry <code>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations</code> 新建Key为图片后缀名如 <code>.jpg</code> 的字符串值 <code>PhotoViewer.FileAssoc.Tiff</code> 即可</li>
</ul>
</li>
</ul>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-reg" data-lang="reg"><span class="line"><span class="cl">Windows Registry Editor Version 5.00
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">[</span><span class="nb">HKEY_LOCAL_MACHINE</span><span class="k">\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]</span>
</span></span><span class="line"><span class="cl"><span class="na">&#34;RealTimeIsUniversal&#34;</span><span class="o">=</span><span class="nv">dword</span><span class="p">:</span><span class="m">00000001</span>
</span></span><span class="line"><span class="cl"><span class="c1">;设置硬件时钟为UTC</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">[</span><span class="nb">HKEY_LOCAL_MACHINE</span><span class="k">\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations]</span>
</span></span><span class="line"><span class="cl"><span class="na">&#34;.bmp&#34;</span><span class="o">=</span><span class="s">&#34;PhotoViewer.FileAssoc.Tiff&#34;</span>
</span></span><span class="line"><span class="cl"><span class="na">&#34;.ico&#34;</span><span class="o">=</span><span class="s">&#34;PhotoViewer.FileAssoc.Tiff&#34;</span>
</span></span><span class="line"><span class="cl"><span class="na">&#34;.jpeg&#34;</span><span class="o">=</span><span class="s">&#34;PhotoViewer.FileAssoc.Tiff&#34;</span>
</span></span><span class="line"><span class="cl"><span class="na">&#34;.jpg&#34;</span><span class="o">=</span><span class="s">&#34;PhotoViewer.FileAssoc.Tiff&#34;</span>
</span></span><span class="line"><span class="cl"><span class="na">&#34;.png&#34;</span><span class="o">=</span><span class="s">&#34;PhotoViewer.FileAssoc.Tiff&#34;</span>
</span></span><span class="line"><span class="cl"><span class="c1">;LTSC将图片关联到自带的图片查看器打开</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="updates">Updates
</h2><p>1809和LTSC共用更新,但1809安装更新会在重启时失败,应该是普通版限制安装延长更新。</p>
<ul>
<li><del>删除Flash更新KB4577586,2025年已并入LCU不需要单独安装。</del></li>
<li>最新的服务堆栈更新(SSU),普通1809最后是KB5003243,最终是kb5005112,之后SSU并入LCU。</li>
<li>Intel微码更新,目前是KB4589208</li>
<li>最新的积累更新(LCU),普通1809最后是KB5003171。
<ul>
<li>22H2安装2025年10月后的积累更新需激活ESU</li>
<li>其他非LTSC版本需升级至22H2的2025年10月版本</li>
</ul>
</li>
<li>最新的.Net积累更新
<ul>
<li>1809LTSC版本2025年10月是KB5066143至2026年3月没再更新</li>
<li>1809和LTSC建议首先安装.Net4.8再安装4.8系列2025年10月更新KB5066137</li>
<li>21H2/22H2/LTSC2021版本2025年10月是KB5066135至2026年3月没再更新</li>
</ul>
</li>
<li><del>SecureBootDBX更新KB5012170已并入LCU不需要单独安装</del></li>
<li><em><a class="link" href="https://www.microsoft.com/en-us/wdsi/defenderupdates" target="_blank" rel="noopener"
>Defender病毒库更新</a>KB2267602(mpam-fe.exe),执行后查看defender更新日期确认</em></li>
<li><em>Defender反恶意软件KB4052623</em></li>
</ul>
<h3 id="ltsc-引导文件bug">LTSC 引导文件Bug
</h3><p>LTSC(2019)引导文件Bug可通过LCU解决。</p>
<h3 id="ltsc2021-中-wsappx-占用过高问题">LTSC2021 中 wsappx 占用过高问题
</h3><ul>
<li><del>LTSC2021因为默认少装运行库导致高占用,需要额外安装</del>
<ul>
<li><del>管理员身份运行Powershell <code>Add-AppxPackage -Path 文件路径</code></del></li>
<li><del>Microsoft.VCLibs.x86.14.00.Desktop.appx</del></li>
<li><del>Microsoft.VCLibs.x64.14.00.Desktop.appx</del></li>
</ul>
</li>
<li><del>将 <code>HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\AppXSvc Start</code> 的值从3改到4可以解决wsappx,但资源管理器又占用高了。</del></li>
<li>2022年9月13日的21H2更新 KB5017308 成功解决了 wsappx 占用高的问题,直接安装即可。</li>
</ul>
<h2 id="drivers">Drivers
</h2><p>由于引导和高占用等Bug需要安装积累更新解决,所以完成更新补丁安装后在安装驱动。
驱动安装完成后,建议再检查 <code>System Settings</code> 的部分。</p>
<h2 id="software-configure">Software Configure
</h2><p>软件配置因人而异,这里罗列一些博主认为有必要考虑的。</p>
<ul>
<li>.Net3.5(2.0+3.0)
<ul>
<li>挂载安装镜像可离线启用</li>
<li><strong>建议随系统安装启用以免后期需要找不到安装镜像</strong></li>
<li>dism.exe /online /enable-feature /featurename:netfx3 /Source:<a class="link" href="ISO%e7%9b%98%e7%ac%a6%e5%a6%82" >E</a>:\sources\sxs</li>
</ul>
</li>
<li>MSOffice(LibreOffice/OnlyOffice)
<ul>
<li>using <a class="link" href="https://localfreedom.pages.dev/p/office-deployment-tool/" >Office Deployment Tool</a></li>
</ul>
</li>
<li>Firefox(Edge)
<ul>
<li>Profile is in the ~/AppData/Roaming/Mozilla/Firefox/Profiles/<em>&lt;profile names like *.default&gt;</em></li>
<li>Bookmarks</li>
</ul>
</li>
<li>7Zip(WinRAR)</li>
<li>VLC(WindowsMediaPlayer)</li>
<li>Rufus</li>
<li>git</li>
<li>Thunderbird
<ul>
<li>Offline Calendar / Task / Book</li>
</ul>
</li>
<li>GOGGalaxy(Steam)</li>
<li>Hyper-V(VMware/VirtualBox)</li>
<li>VScode</li>
<li>VisualStudio</li>
<li>Anaconda</li>
<li>Sumatra PDF</li>
</ul>
</description>
</item>
<item>
<title>llama.cpp LLM时代核心引擎指南</title>
<link>https://localfreedom.pages.dev/p/llama.cpp-llm%E6%97%B6%E4%BB%A3%E6%A0%B8%E5%BF%83%E5%BC%95%E6%93%8E%E6%8C%87%E5%8D%97/</link>
<pubDate>Sun, 05 Apr 2026 12:17:21 +0000</pubDate>
<guid>https://localfreedom.pages.dev/p/llama.cpp-llm%E6%97%B6%E4%BB%A3%E6%A0%B8%E5%BF%83%E5%BC%95%E6%93%8E%E6%8C%87%E5%8D%97/</guid>
<description><img src="https://localfreedom.pages.dev/img/llamacpp.png" alt="Featured image of post llama.cpp LLM时代核心引擎指南" /><h2 id="简介">简介
</h2><p>llama.cpp 是ChatGPT火爆后最早也是最核心的LLM推理引擎。
配套的还有 ggml/gguf 等适用于个人电脑的量化LLM模型档案格式。
用C++实现,小巧高校,社区活跃,对新模型有很及时的支持,是很多LLM本地运行工具的上游引擎。</p>
<h3 id="优势">优势
</h3><ul>
<li>体积小,占用磁盘空间少。</li>
<li>可控性强,基础引擎可以定义所有参数。</li>
<li>直接使用 gguf 格式模型档案,便于模型收录档案管理。</li>
</ul>
<h3 id="劣势">劣势
</h3><ul>
<li>用户不够友好,毕竟是核心引擎,虽然出了WebUI但远没有其他集成软件用户友好。</li>
<li>配置门槛高,运行模型本身就是命令行执行,配套的 Agent/SCP/RAG 等都需要自行组装。</li>
</ul>
<h2 id="版本">版本
</h2><p>项目的<a class="link" href="https://github.com/ggml-org/llama.cpp" target="_blank" rel="noopener"
>开发</a>和<a class="link" href="https://github.com/ggml-org/llama.cpp/releases" target="_blank" rel="noopener"
>分发</a>都在Github进行。</p>
<p>引擎本身支持不同的硬件加速:</p>
<ul>
<li>cpu 最精简状态,纯CPU推理。</li>
<li>cuda 支持 Nvidia GPU 加速。</li>
<li>rocm 支持 AMD GPU 加速。</li>
<li>vulkan 支持开源GPU驱动加速。</li>
<li>opencl 支持开源GPU驱动加速。</li>
</ul>
<p>docker镜像发行分三类方式:</p>
<ul>
<li>light 轻量级,仅仅核心推理引擎,<code>llama-cli</code>命令行交互对话。</li>
<li>server 服务端,运行引擎搭配Web服务器,提供API接口,新推出的WebUI也是server的一部分。</li>
<li>full 全功能,包含以上内容,以及量化转换等各种辅助工具。</li>
</ul>
<h3 id="衍生">衍生
</h3><p>日常用到的各种LLM本地运行的应用程序,几乎都是基于 <strong>llama.cpp</strong> 封装开发的。</p>
<ul>
<li><a class="link" href="https://www.jan.ai/" target="_blank" rel="noopener"
>Jan</a>
<ul>
<li>曾经自研引擎,现在自研引擎项目 <a class="link" href="https://github.com/janhq/cortex.cpp" target="_blank" rel="noopener"
>cortex</a> 已停滞,就直接打包llama.cpp。</li>
</ul>
</li>
<li><a class="link" href="https://ollama.com/" target="_blank" rel="noopener"
>Ollama</a>
<ul>
<li>重写了llama.cpp,提供了更集成的封装和配置,如今引擎越来越向llama.cpp靠拢。</li>
<li>模型采用自己的存储格式,有官方<a class="link" href="https://ollama.com/library" target="_blank" rel="noopener"
>模型库</a>,可以从GGUF导入,但会有效果差异。</li>
<li>更新不如llama.cpp及时,比如qwen的多模态暂无法支持gguf导入。</li>
</ul>
</li>
<li><a class="link" href="https://lmstudio.ai/" target="_blank" rel="noopener"
>LM Studio</a>
<ul>
<li>商业软件,就是对llama.cpp的封装,提供用户友好的操作界面和API服务。</li>
</ul>
</li>
<li>GPT4ALL
<ul>
<li>早期基于llama.cpp的GUI,现在<a class="link" href="https://github.com/nomic-ai/gpt4all" target="_blank" rel="noopener"
>开源版本</a>似乎停止更新了。</li>
</ul>
</li>
</ul>
<h2 id="安装">安装
</h2><ul>
<li><a class="link" href="https://github.com/ggml-org/llama.cpp/blob/master/docs/docker.md" target="_blank" rel="noopener"
>Docker/Podman</a>
<ul>
<li>pull镜像即可,镜像在<a class="link" href="https://github.com/ggml-org/llama.cpp/pkgs/container/llama.cpp" target="_blank" rel="noopener"
>Github的托管</a>发布,官方没有在DockerHub上发布,不便于查询版本和体积,这里列出来。
<ul>
<li>目前项目更新非常频繁,没有大版本号,所以直接用 light/server/full 最新版即可。</li>
<li>light 不到100M,-cuda 需要额外约2GiB, full-cuda 最大约5GiB。</li>
</ul>
</li>
<li>官方的参考命令有些问题,比如交互后无限回车,运行容器时加上 <code>-it</code> 参数即可。</li>
</ul>
</li>
<li>Linux
<ul>
<li>目前llama.cpp并没有收录进各发行版的仓库。</li>
<li>从<a class="link" href="https://github.com/ggml-org/llama.cpp/releases" target="_blank" rel="noopener"
>Github发布页</a>根据自己硬件的情况下载最新的二进制包解压运行即可,没有额外依赖。</li>
</ul>
</li>
<li>MacOS
<ul>
<li>可以借助包管理工具安装
<ul>
<li>brew install llama.cpp</li>
<li>sudo port install llama.cpp</li>
<li>nix profile install nixpkgs#llama-cpp</li>
</ul>
</li>
</ul>
</li>
<li>Windows
<ul>
<li>从<a class="link" href="https://github.com/ggml-org/llama.cpp/releases" target="_blank" rel="noopener"
>Github发布页</a>根据自己硬件的情况下载最新的二进制包解压运行即可。</li>
<li>也可以选择 <a class="link" href="https://www.jan.ai/" target="_blank" rel="noopener"
>Jan</a> 或 <a class="link" href="https://lmstudio.ai/" target="_blank" rel="noopener"
>LM Studio</a> 等集成应用。</li>
</ul>
</li>
<li>自行编译/Android
<ul>
<li>llama.cpp 由C++编写,依赖几乎只有显卡加速驱动库,按照<a class="link" href="https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md" target="_blank" rel="noopener"
>说明</a>编译不难。</li>
<li>Android 可借助 Termux 类应用编译运行,这里不做详细介绍。</li>
<li>Android也有很多应用封装了 llama.cpp 如 Maid/PocketPal 。</li>
</ul>
</li>
</ul>
<h2 id="使用">使用
</h2><h3 id="参数">参数
</h3><ul>
<li>通用参数
<ul>
<li><code>-ngl auto</code> 多少层加载到GPU,默认auto即可,目前引擎自动分配已足够智能。</li>
<li><code>-c 0</code> 上下文长度,默认0采用GGUF档案中自带的默认值。</li>
<li><code>-fa auto</code> 是否启用 fast attention 加速,默认auto即可能启用就用。</li>
<li><code>--jinja</code> 指定使用GGUF中包含的对话模板,省得自己拼装prompt。</li>
<li><code>-m path/to/gguf</code> 指定模型权重档案位置。</li>
<li><code>-mm path/to/mmproj/file</code> 指定配套的多模态权重档案位置。</li>
<li><code>--host 0.0.0.0</code> server/full版本指定服务监听的IP,目前有BUG仅监听 localhost/127.0.0.1 本机无法访问</li>
<li><code>--port 8033</code> server/full版本指定服务监听的端口,早期默认8080官方WebUI推荐8033,可任选一个空闲的自己喜欢的端口。</li>
</ul>
</li>
<li>模型超参数参考官方建议或保持默认
<ul>
<li>unsloth 提供的<a class="link" href="https://unsloth.ai/docs/models" target="_blank" rel="noopener"
>使用指南</a>中通常都包含 llama.cpp 的参数设置,通常和官方推荐一致,而且gguf档案目前也是这家的版本最受欢迎。</li>
<li>&ndash;temp 温度,控制模型的生成发散性,越高越发散。</li>
<li>&ndash;top-p 候选概率阈值,越低约发散。</li>
<li>&ndash;top-k 候选数量阈值,越高越发散。</li>
<li>&ndash;min-p 候选词最小概率。</li>
<li>&ndash;presence-penalty 存在惩罚,降低已生成的token再次出现的概率,越低越可能重复。</li>
<li>&ndash;repeat-penalty 重复惩罚,已生成的越多惩罚越强,越低越可能重复。</li>
<li>&ndash;chat-template-kwargs 为聊天模板设定参数,通常控制是否思考,传入json字符串</li>
</ul>
</li>
</ul>
<h3 id="参考命令">参考命令
</h3><p>这里给出通过 docker 运行 server-cuda 镜像的示例命令行,直接运行把 docker 的部分去掉即可。
容器也可以查看帮助 <code>docker run --rm llama.cpp:server-cuda -h</code>
运行命令启动容器后,访问 http://localhost:8033 即可看到 llama.cpp 的官方WebUI。</p>
<h4 id="qwen35-9b-unsloth">Qwen3.5-9B-unsloth
</h4><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">=</span><span class="s1">&#39;&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; -p 8033:8033 -v /path/to/gguf/folder:/models:ro --gpus=all --name=LlamaCpp --rm &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; llama.cpp:server-cuda &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; -c 0 -fa auto --jinja --host 0.0.0.0 --port 8033 &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; -m /models/Qwen3.5-9B-Q4_K_M.gguf -mm /models/mmproj-BF16.gguf &#39;</span>
</span></span><span class="line"><span class="cl"><span class="c1">#ARGS+=&#39; --temp 1.0 --top-p 0.95 --top-k 20 --min-p 0.0 --presence-penalty 1.5 --repeat-penalty 1.0 &#39; # 思考通用任务|非思考推理任务</span>
</span></span><span class="line"><span class="cl"><span class="c1">#ARGS+=&#39; --temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.0 --presence-penalty 0.0 --repeat-penalty 1.0 &#39; # 思考精确编码任务</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; --temp 0.7 --top-p 0.8 --top-k 20 --min-p 0.0 --presence-penalty 1.5 --repeat-penalty 1.0 &#39;</span> <span class="c1"># 非思考通用任务</span>
</span></span><span class="line"><span class="cl"><span class="c1">#ARGS+=&#39; --chat-template-kwargs &#39;&#39;{&#34;enable_thinking&#34;:true}&#39; # 思考</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; --chat-template-kwargs &#39;&#39;{&#34;enable_thinking&#34;:false}&#39;</span> <span class="c1"># 不思考</span>
</span></span><span class="line"><span class="cl">docker run <span class="nv">$ARGS</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h4 id="gemma-4-26b-a4b-it-unsloth">gemma-4-26B-A4B-it-unsloth
</h4><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span><span class="lnt">6
</span><span class="lnt">7
</span><span class="lnt">8
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">=</span><span class="s1">&#39;&#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; -p 8033:8033 -v /path/to/gguf/folder:/models:ro --gpus=all --name=LlamaCpp --rm &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; llama.cpp:server-cuda &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; -c 0 -fa auto --jinja --host 0.0.0.0 --port 8033 &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; -m /models/gemma-4-26B-A4B-it-UD-Q4_K_XL.gguf -mm /models/mmproj-BF16.gguf &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; --temp 1.0 --top-p 0.95 --top-k 64 &#39;</span>
</span></span><span class="line"><span class="cl"><span class="nv">ARGS</span><span class="o">+=</span><span class="s1">&#39; --chat-template-kwargs &#39;&#39;{&#34;enable_thinking&#34;:false}&#39;</span> <span class="c1"># 是否思考</span>
</span></span><span class="line"><span class="cl">docker run <span class="nv">$ARGS</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="配套">配套
</h3><p>llama.cpp 项目本身并没有集成方便的配套工具。
如果集成多了软件和镜像的体积也就大了,所以还是自行组装更好。
之后在新开博文介绍如何基于 llama.cpp 搭建智能体。</p>
</description>
</item>
<item>
<title>Git 代码及一切文本档案的管理神器</title>
<link>https://localfreedom.pages.dev/p/git-%E4%BB%A3%E7%A0%81%E5%8F%8A%E4%B8%80%E5%88%87%E6%96%87%E6%9C%AC%E6%A1%A3%E6%A1%88%E7%9A%84%E7%AE%A1%E7%90%86%E7%A5%9E%E5%99%A8/</link>
<pubDate>Thu, 02 Apr 2026 09:47:05 +0000</pubDate>
<guid>https://localfreedom.pages.dev/p/git-%E4%BB%A3%E7%A0%81%E5%8F%8A%E4%B8%80%E5%88%87%E6%96%87%E6%9C%AC%E6%A1%A3%E6%A1%88%E7%9A%84%E7%AE%A1%E7%90%86%E7%A5%9E%E5%99%A8/</guid>
<description><img src="https://localfreedom.pages.dev/img/git.png" alt="Featured image of post Git 代码及一切文本档案的管理神器" /><h2 id="简介">简介
</h2><p><a class="link" href="https://git-scm.com" target="_blank" rel="noopener"
>Git</a> 是 Linux 之父设计的分布式版本控制软件,最出色的代码管理利器。
Git不只能用于代码的管理,一切配置文件、文本档案,甚至多媒体大文件,都很适合用Git来追踪变化,异步写作开发。
本文介绍 Git 的基本操作,并记录一些复杂需求的操作流程。</p>
<h3 id="discern">Discern
</h3><p>Github 是一个使用Git机制提供集中代码和文档追踪服务的平台,和Git没有官方联系。</p>
<h2 id="安装">安装
</h2><ul>
<li>Windows
<ul>
<li>Windows版本在<a class="link" href="https://github.com/git-for-windows/git/releases" target="_blank" rel="noopener"
>Github分发</a>
<ul>
<li>2.46.2是最后支持Windows7的版本</li>
</ul>
</li>
<li>使用setup安装时建议换行符方式选择 <code>Checkout as is, commit as is</code></li>
</ul>
</li>
<li>Linux发行版仓库中一般带有 git
<ul>
<li>建议<a class="link" href="https://git-scm.com/install/linux" target="_blank" rel="noopener"
>从发行版仓库安装</a></li>
</ul>
</li>
</ul>
<h3 id="相关配套工具和插件">相关配套工具和插件
</h3><ul>
<li><a class="link" href="https://git-lfs.com/" target="_blank" rel="noopener"
>git-lfs</a>
<ul>
<li>集成在Windows版本中,Linux需额外从发行版仓库安装。</li>
<li>用于追踪大文件减少空间消耗</li>
</ul>
</li>
</ul>
<h2 id="配置">配置
</h2><h3 id="配置文件位置">配置文件位置
</h3><ul>
<li>当前用户的配置在 <code>.gitconfig</code></li>
<li>每个仓库的配置文件在 <code>.git/config</code></li>
<li>每个文件夹中的配置文件
<ul>
<li>.gitignore 设置追踪变更时忽视的路径</li>
<li>.gitattribution 设置每个文件追踪属性如不记录差异</li>
</ul>
</li>
</ul>
<h3 id="配置命令">配置命令
</h3><p>git config [级别] [选项] 变量 值</p>
<ul>
<li>级别有 &ndash;system &ndash;global &ndash;local &ndash;worktree &ndash;file 等</li>
<li>选项有 &ndash;list &ndash;unset 等</li>
<li>全局快速合并 git config &ndash;global pull.ff=only</li>
<li>设置基本信息
<ul>
<li>git config user.name [用户名]</li>
<li>git config user.email [电子邮件]</li>
</ul>
</li>
<li>设置http/https协议的代理 git config http.[网址.]proxy &ldquo;协议://IP地址:端口&rdquo;
<ul>
<li>git config http.proxy &ldquo;socks5h://127.0.0.1:1080&rdquo;</li>
<li>git config http.https://github.com.proxy &ldquo;socks5h://127.0.0.1:1080&rdquo;</li>
<li>git config &ndash;local remote.&lt;远端名称&gt;.proxy &quot;&quot;</li>
</ul>
</li>
<li>设置SSH(代理用ssh方式设置)
<ul>
<li>git config &ndash;local core.sshCommand &ldquo;ssh -F path/to/config&rdquo;</li>
<li><a class="link" href="https://localfreedom.pages.dev/p/ssh%E8%BF%9C%E7%A8%8B%E7%99%BB%E5%85%A5%E7%A5%9E%E5%99%A8%E7%9A%84%E5%88%9D%E6%AD%A5%E4%BD%BF%E7%94%A8/" >SSH远程登入神器的初步使用</a></li>
</ul>
</li>
</ul>
<h2 id="基本使用">基本使用
</h2><h3 id="创建本地仓库">创建本地仓库
</h3><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span><span class="lnt">5
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">git init
</span></span><span class="line"><span class="cl">git config --local --add user.name <span class="o">[</span>意向使用的用户名如user<span class="o">]</span>
</span></span><span class="line"><span class="cl">git config --local --add user.email <span class="o">[</span>意向使用的邮箱如user@example.com<span class="o">]</span>
</span></span><span class="line"><span class="cl">git branch -M <span class="o">[</span>主分支名,如main<span class="o">]</span>
</span></span><span class="line"><span class="cl">git remote add <span class="o">[</span>远端名称,默认origin<span class="o">]</span> <span class="o">[</span>远端URL<span class="o">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="克隆和拉取">克隆和拉取
</h3><ul>
<li>子模块
<ul>
<li>直接一起克隆 git clone &ndash;recurse-submodules</li>
<li>克隆后在拉取
<ul>
<li><code>git clone 链接</code></li>
<li><code>git submodule init</code></li>
<li><code>git submodule update</code>
<ul>
<li><code>--remote</code> 选项可以解决 <code>did not contain xxxxxxxxx</code> 类的问题</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>精简克隆
<ul>
<li>设置不包含文件变更暂不检出(仅概况)深度为1 <code>git clone --filter=blob:none --no-checkout --depth=1 --sparse 链接</code></li>
<li><code>cd 仓库名</code></li>
<li><code>git sparse-checkout set 想克隆的路径</code></li>
<li><code>git sparse-checkout add 想克隆的路径</code></li>
<li>手动维护想克隆的路径 <code>.git/info/sparse-checkout</code></li>
<li><code>git checkout</code></li>
<li><a class="link" href="https://stackoverflow.com/questions/4114887/is-it-possible-to-do-a-sparse-checkout-without-checking-out-the-whole-repository" target="_blank" rel="noopener"
>https://stackoverflow.com/questions/4114887/is-it-possible-to-do-a-sparse-checkout-without-checking-out-the-whole-repository</a></li>
</ul>
</li>
</ul>
<h3 id="提交">提交
</h3><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">git add 文件
</span></span><span class="line"><span class="cl">git commit <span class="s2">&#34;说明&#34;</span>
</span></span><span class="line"><span class="cl">git reset --soft HEAD^ <span class="c1"># 本地撤销commit</span>
</span></span><span class="line"><span class="cl">git push -u <span class="o">[</span>远端名称,默认origin<span class="o">]</span> <span class="o">[</span>本地分支,如main<span class="o">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h3 id="分支">分支
</h3><div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span><span class="lnt">11
</span><span class="lnt">12
</span><span class="lnt">13
</span><span class="lnt">14
</span><span class="lnt">15
</span><span class="lnt">16
</span><span class="lnt">17
</span><span class="lnt">18
</span><span class="lnt">19
</span><span class="lnt">20
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="c1"># 查看分支</span>
</span></span><span class="line"><span class="cl">git branch -a
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 创建分支</span>
</span></span><span class="line"><span class="cl">git checkout -b <span class="o">[</span>分支名<span class="o">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 列出标签</span>
</span></span><span class="line"><span class="cl">git tag <span class="o">[</span>-l <span class="p">|</span> --list<span class="o">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 创建标签</span>
</span></span><span class="line"><span class="cl">git tag -a 标签名 <span class="o">[</span>-m 信息 <span class="p">|</span> -F 信息文件<span class="o">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 删除标签</span>
</span></span><span class="line"><span class="cl">git tag -d 标签名
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 切换分支</span>
</span></span><span class="line"><span class="cl">git checkout <span class="o">[</span>分支名<span class="o">]</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 切换到标签</span>
</span></span><span class="line"><span class="cl">git checkout <span class="o">[</span>标签名 <span class="p">|</span> tags/标签名<span class="o">]</span>
</span></span></code></pre></td></tr></table>
</div>
</div><h2 id="流程参考">流程参考
</h2><h3 id="pullrequest">PullRequest
</h3><p>通常实在网络平台上使用git用此操作进行贡献</p>
<ul>
<li>fork别人的仓库</li>
<li>做修改并提交</li>
<li>在自己fork的仓库新建PullRequest</li>
<li>[可选]跟进上游进展 git remote add upstream https://[上游仓库地址].git</li>
</ul>
<blockquote>
<p><a class="link" href="https://github.com/firstcontributions/first-contributions" target="_blank" rel="noopener"
>https://github.com/firstcontributions/first-contributions</a></p>
</blockquote>
<h3 id="gitlfs">GitLFS
</h3><ul>
<li>追踪 <code>git lfs track 文件在仓库路径如Patch/test.bin</code></li>
<li>添加配置 <code>git add .gitattributes</code></li>
<li>正常添加 <code>it add 文件在仓库路径如Patch/test.bin</code></li>
<li>正常提交 <code>git commit -m &quot;说明备注&quot;</code></li>
</ul>
<h3 id="不小心提交敏感信息">不小心提交敏感信息
</h3><ul>
<li>本地撤销commit <code>git reset --soft HEAD^</code></li>
<li>创建新分支 <code>git branch -b master</code></li>
<li>重新提交 <code>git push</code></li>
<li>在github中Settings切换默认分支</li>
<li>在github中Code的分支菜单中<code>View all branches</code>删除原分支</li>
<li>可以考虑再把新分支master重命名回去
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre tabindex="0" class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span><span class="lnt">4
</span></code></pre></td>
<td class="lntd">
<pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl">git branch -m master 原分支名
</span></span><span class="line"><span class="cl">git fetch github
</span></span><span class="line"><span class="cl">git branch -u github/原分支名 原分支名
</span></span><span class="line"><span class="cl">git remote set-head github -a
</span></span></code></pre></td></tr></table>
</div>
</div></li>
</ul>
<h2 id="其他">其他
</h2><p>Git相关的 GUI、WebUI、Server 等另开一篇博文介绍。</p>
</description>
</item>
<item>
<title>Chinese character 简繁转换</title>
<link>https://localfreedom.pages.dev/p/chinese-character-%E7%AE%80%E7%B9%81%E8%BD%AC%E6%8D%A2/</link>
<pubDate>Tue, 24 Mar 2026 11:38:39 +0000</pubDate>
<guid>https://localfreedom.pages.dev/p/chinese-character-%E7%AE%80%E7%B9%81%E8%BD%AC%E6%8D%A2/</guid>
<description><p>简体是中文字的简化写法,大陆为了普及文化而推广了简化字,简化版的汉字与正规写法之间是字字对应的,转换很直接,也确实有很多办公软件集成了此功能,这里做收录总结。</p>
<p>同时由于简体用于大陆、新加坡,繁体或者说正体中文用于台湾和港澳,所以一些表述上有习惯性差异的,这里也列举一些常用表述差异的转换措施。</p>
<h2 id="opencc">OpenCC
</h2><ul>
<li>下载安装
<ul>
<li><a class="link" href="https://github.com/BYVoid/OpenCC" target="_blank" rel="noopener"
>https://github.com/BYVoid/OpenCC</a></li>
</ul>
</li>
<li>使用
<ul>
<li>opencc -c 配置文件 -i 输入文件 -o 输出文件</li>
<li>不指定配置文件则根据输入逐字转换成另一种</li>
<li>如果不指定输入输出文件则流式处理每输入一行输出一行结果</li>
<li>预设配置文件
<ul>
<li><code>s2t.json</code> Simplified Chinese to Traditional Chinese 简体到繁体</li>
<li><code>t2s.json</code> Traditional Chinese to Simplified Chinese 繁体到简体</li>
<li><code>s2tw.json</code> Simplified Chinese to Traditional Chinese (Taiwan Standard) 简体到台湾正体</li>
<li><code>tw2s.json</code> Traditional Chinese (Taiwan Standard) to Simplified Chinese 台湾正体到简体</li>
<li><code>s2hk.json</code> Simplified Chinese to Traditional Chinese (Hong Kong variant) 简体到香港繁体</li>
<li><code>hk2s.json</code> Traditional Chinese (Hong Kong variant) to Simplified Chinese 香港繁体到简体</li>
<li><code>s2twp.json</code> Simplified Chinese to Traditional Chinese (Taiwan Standard) with Taiwanese idiom 简体到繁体(台湾正体标准)并转换为台湾常用词汇</li>
<li><code>tw2sp.json</code> Traditional Chinese (Taiwan Standard) to Simplified Chinese with Mainland Chinese idiom 繁体(台湾正体标准)到简体并转换为中国大陆常用词汇</li>
<li><code>t2tw.json</code> Traditional Chinese (OpenCC Standard) to Taiwan Standard 繁体(OpenCC 标准)到台湾正体</li>
<li><code>hk2t.json</code> Traditional Chinese (Hong Kong variant) to Traditional Chinese 香港繁体到繁体(OpenCC 标准)</li>
<li><code>t2hk.json</code> Traditional Chinese (OpenCC Standard) to Hong Kong variant 繁体(OpenCC 标准)到香港繁体</li>
<li><code>t2jp.json</code> Traditional Chinese Characters (Kyūjitai) to New Japanese Kanji (Shinjitai) 繁体(OpenCC 标准,旧字体)到日文新字体</li>
<li><code>jp2t.json</code> New Japanese Kanji (Shinjitai) to Traditional Chinese Characters (Kyūjitai) 日文新字体到繁体(OpenCC 标准,旧字体)</li>
<li><code>tw2t.json</code> Traditional Chinese (Taiwan standard) to Traditional Chinese 台湾正体到繁体(OpenCC 标准)</li>
</ul>
</li>
</ul>
</li>
<li>评价
<ul>
<li>精巧专业预置转换词典</li>
<li>全系统支持</li>
<li>命令行为主</li>
</ul>
</li>
</ul>
<h2 id="libreoffice">LibreOffice
</h2><ul>
<li>启用亚洲语言支持
<ul>
<li>Tools -&gt; Options -&gt; Languages and Locales -&gt; General</li>
</ul>
</li>
<li>使用
<ul>
<li>选中带转换文本</li>
<li>工具 -&gt; 语言 -&gt; 中文简繁转换</li>
<li>[可选]勾选翻译常用词汇并编辑词典</li>
</ul>
</li>
<li>评价
<ul>
<li>多系统支持 Linux/Windows/MacOS 免费开源可靠</li>
<li>无预制词典且无法导入</li>
</ul>
</li>
</ul>
<h2 id="microsoft-office">Microsoft Office
</h2><ul>
<li>365等部分版本需要额外启用
<ul>
<li>文件 -&gt; 选项 -&gt; 加载项 -&gt; 中文繁简转换增益集</li>
<li>管理 -&gt; COM加载项 -&gt; 转到</li>
<li>勾选 中文繁简转换增益集</li>
</ul>
</li>
<li>使用
<ul>
<li>选中要转换的文本、单元格、区域</li>
<li>审阅 -&gt; 中文简繁转换</li>
<li>[可选]勾选转换常用词汇</li>
<li>[可选]自定义词典</li>
</ul>
</li>
<li>评价
<ul>
<li>仅限于Windows</li>
<li>用户友好自带转换常用词汇词典</li>
</ul>
</li>
</ul>
</description>
</item>
<item>
<title>Github GitHub 个人资料徽章和成就一览</title>
<link>https://localfreedom.pages.dev/p/github-github-%E4%B8%AA%E4%BA%BA%E8%B5%84%E6%96%99%E5%BE%BD%E7%AB%A0%E5%92%8C%E6%88%90%E5%B0%B1%E4%B8%80%E8%A7%88/</link>
<pubDate>Mon, 16 Mar 2026 11:35:51 +0000</pubDate>
<guid>https://localfreedom.pages.dev/p/github-github-%E4%B8%AA%E4%BA%BA%E8%B5%84%E6%96%99%E5%BE%BD%E7%AB%A0%E5%92%8C%E6%88%90%E5%B0%B1%E4%B8%80%E8%A7%88/</guid>
<description><img src="https://localfreedom.pages.dev/img/github-achievements.jpg" alt="Featured image of post Github GitHub 个人资料徽章和成就一览" /><p>浏览 Github 时,会见到有些用户 Profile 左侧头像下有一些徽章,或者自己的 Profile 也会出现徽章。
这是 Github 的成就系统,算是商业产品一种激发用户兴趣的策略,本文简要罗列一些,有兴趣的可以玩玩。</p>
<h2 id="官方介绍">官方介绍
</h2><p>博客: <a class="link" href="https://github.blog/news-insights/product-news/introducing-achievements-recognizing-the-many-stages-of-a-developers-coding-journey/" target="_blank" rel="noopener"
>https://github.blog/news-insights/product-news/introducing-achievements-recognizing-the-many-stages-of-a-developers-coding-journey/</a></p>
<p>论坛: <a class="link" href="https://github.com/community/community/discussions/categories/profile" target="_blank" rel="noopener"
>https://github.com/community/community/discussions/categories/profile</a></p>
<h2 id="简短列表">简短列表
</h2><p>生动形象参考 <a class="link" href="https://github.com/gomzyakov/github-achievements" target="_blank" rel="noopener"
>https://github.com/gomzyakov/github-achievements</a></p>
<h3 id="所有-github-个人资料徽章和成就的完整列表">所有 GitHub 个人资料徽章和成就的完整列表
</h3><table>
<thead>
<tr>
<th>名称</th>
<th>获取方式</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Heart On Your Sleeve</strong></td>
<td>使用 ❤️ 表情符号对 GitHub 上的内容做出反应 <strong>(正在测试中)</strong></td>
</tr>
<tr>
<td><strong>Open Sourcerer</strong></td>
<td>用户已将 PR 合并到多个公共存储库中 <strong>(正在测试中)</strong></td>
</tr>
<tr>
<td><strong>Starstruck</strong></td>
<td>创建一个有 <strong>16 颗星</strong> 或<a class="link" href="#%e6%88%90%e5%b0%b1%e5%be%bd%e7%ab%a0%e7%ad%89%e7%ba%a7" >更多星</a> 的仓库.</td>
</tr>
<tr>
<td><strong>Quickdraw</strong></td>
<td>在打开后 5 分钟内关闭问题或拉取请求.</td>
</tr>
<tr>
<td><strong>Pair Extraordinaire</strong></td>
<td>在 <strong>一个</strong> 或 <a class="link" href="#%e6%88%90%e5%b0%b1%e5%be%bd%e7%ab%a0%e7%ad%89%e7%ba%a7" >更多</a> 合并拉取请求中共同创作。</td>
</tr>
<tr>
<td><strong>Pull Shark</strong></td>
<td><strong>2 个PR</strong> 或<a class="link" href="#%e6%88%90%e5%b0%b1%e5%be%bd%e7%ab%a0%e7%ad%89%e7%ba%a7" >以上</a>被合并.</td>
</tr>
<tr>
<td><strong>Galaxy Brain</strong></td>
<td>两个或<a class="link" href="#%e6%88%90%e5%b0%b1%e5%be%bd%e7%ab%a0%e7%ad%89%e7%ba%a7" >两个以上</a>的回答被标记为“答案”.</td>
</tr>
<tr>
<td><strong>YOLO</strong></td>
<td>在不进行代码审查的情况下合并 <strong>至少一个</strong> PR.</td>
</tr>
<tr>
<td><strong>Public Sponsor</strong></td>
<td>通过 <a class="link" href="https://github.com/sponsors" target="_blank" rel="noopener"
>GitHub Sponsors</a> 打赏开源项目.</td>
</tr>
<tr>
<td><strong>Mars 2020 Contributor</strong></td>
<td>向用于 <a class="link" href="https://github.com/readme/featured/nasa-ingenuity-helicopter" target="_blank" rel="noopener"
>Mars 2020 Helicopter Mission</a> 的存储库贡献了代码 <em>已无法再获取。</em></td>
</tr>
<tr>
<td><strong>Arctic Code Vault Contributor</strong></td>
<td>向用于 <a class="link" href="https://archiveprogram.github.com/" target="_blank" rel="noopener"
>2020 GitHub Archive Program</a> 的存储库贡献了代码. <em>已无法再获取。</em></td>
</tr>
</tbody>
</table>
<h3 id="成就徽章等级">成就徽章等级
</h3><p>一些徽章不仅具有基础版,还可以继续升级。</p>
<table>
<thead>
<tr>
<th>成就等级</th>
<th style="text-align:center">默认</th>
<th style="text-align:center">黄铜</th>
<th style="text-align:center">白银</th>
<th style="text-align:center">黄金</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Starstruck</strong></td>
<td style="text-align:center">16 星</td>
<td style="text-align:center">128 星</td>
<td style="text-align:center">512 星</td>
<td style="text-align:center">4096 星 <br><a class="link" href="https://github.com/torvalds?achievement=starstruck&amp;tab=achievements" target="_blank" rel="noopener"
>@torvalds</a></td>
</tr>
<tr>
<td><strong>Pair Extraordinaire</strong></td>
<td style="text-align:center">1 个拉取请求 <br><a class="link" href="https://github.com/gomzyakov?achievement=pair-extraordinaire&amp;tab=achievements" target="_blank" rel="noopener"
>@gomzyakov</a></td>
<td style="text-align:center">10 个拉取请求</td>
<td style="text-align:center">24 个拉取请求</td>
<td style="text-align:center">48 个拉取请求 <br><a class="link" href="https://github.com/Rongronggg9?achievement=pair-extraordinaire&amp;tab=achievements" target="_blank" rel="noopener"
>@Rongronggg9</a></td>
</tr>
<tr>
<td><strong>Pull Shark</strong></td>
<td style="text-align:center">2 个拉取请求</td>
<td style="text-align:center">16 个拉取请求</td>
<td style="text-align:center">128 个拉取请求</td>
<td style="text-align:center">1024 个拉取请求 <br><a class="link" href="https://github.com/ljharb?achievement=pull-shark&amp;tab=achievements" target="_blank" rel="noopener"
>@ljharb</a></td>
</tr>
<tr>
<td><strong>Galaxy Brain</strong></td>
<td style="text-align:center">2 个答案</td>
<td style="text-align:center">8 个答案</td>
<td style="text-align:center">16 个答案</td>
<td style="text-align:center">32 个答案 <br><a class="link" href="https://github.com/ljharb?achievement=galaxy-brain&amp;tab=achievements" target="_blank" rel="noopener"
>@ljharb</a></td>
</tr>
<tr>
<td><strong>Heart On Your Sleeve</strong></td>
<td style="text-align:center">???</td>
<td style="text-align:center">???</td>
<td style="text-align:center">???</td>
<td style="text-align:center">???</td>
</tr>
<tr>
<td><strong>Open Sourcerer</strong></td>
<td style="text-align:center">???</td>
<td style="text-align:center">???</td>
<td style="text-align:center">???</td>
<td style="text-align:center">???</td>
</tr>
</tbody>
</table>
<h3 id="高亮成就">高亮成就
</h3><table>
<thead>
<tr>
<th>名称</th>
<th>是否可以获取</th>
<th>如何获得</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Pro</strong></td>
<td>是</td>
<td>使用 <a class="link" href="https://docs.github.com/en/get-started/learning-about-github/githubs-products#github-pro" target="_blank" rel="noopener"
>GitHub Pro</a></td>