Rebuild Blog By Hugo

Rebuild Blog By Hugo This site rebuild by Hugo instead of Wordpress on 2025-08-03. No database or backend programming needed.

August 3, 2025 · 1 min · Cat York

Change swappiness on linux

Check current swappiness cat /proc/sys/vm/swappiness Change swappiness sudo vim /etc/sysctl.conf set vm.swappiness = 10 apply setting: sudo sysctl -p

September 24, 2020 · 1 min · Cat York

Setup SWAP on Linux

1. Create SWAP file1. Create SWAP file dd if=/dev/zero of=/opt/.swap bs=1024k count=20 (count is what SWAP size you need, MB) mkswap /opt/.swap 2. Active SWAP swapon /opt/.swap 3. Check free 4. Disable SWAP, wipe SWAP file. if you just swapoff SWAP not delete SWAP file, SWAP will reactive when next restart. swapoff /opt/.swap` `rm /opt/.swap

March 16, 2020 · 1 min · Cat York

Mac 系统引导过程概述 & BootCamp 的秘密

前言 OS X 与 Windows 在引导流程上有很大的差别,而且在 Mac 上运行 Windows 需要经过特殊的处理。造成这种差异的原因在于磁盘分区表格式。 分区表 一个磁盘抛开物理组成部分的话,它就是一个地址序列,这个序列从 0~n-1 ,每个地址包含 512B(字节)的空间。一般我们将这些地址称作逻辑块地址(LBA),每块由 512B 组成。分区表告诉操作系统,磁盘的分区有几个,从哪里开始到哪里结束。当将一个磁盘插入已经含有操作系统的机器上时,操作系统会检索这个磁盘的分区表,并正确认识它的分区结构。一个磁盘是先有分区表,后有分区,然后才有文件系统,有了文件系统才能被操作系统读写删。 分区表格式与系统引导的关系 磁盘分区表格式目前主要有两种,分别是 MBR 分区表 和 GUID 分区表,两种分区表的主要区别在支持的分区数量上。前者仅支持4个主要分区,后者则可以扩展到超过128个。 MBR,即 Master Boot Record ,位置在磁盘的第一个逻辑扇区,即 LBA0 的位置。一个逻辑扇区仅有 512B(字节) ,而且分给 MBR 分区表 的只有 64B ,每个分区占分区表的 16B ,剩下的字节由 MBR 引导代码和其它组成。因为每个分区只有 16B 大小的分区表记录,所以寻址最大只能到 2.2TB 。下图的绿色部分 PBR,即 Partition Boot Record ,位置在每个磁盘分区的开始部分,占用扇区不定。这个扇区一般保存着操作系统引导程序的所在位置。下图的红色部分。 文件系统,File System ,操作系统对磁盘的所有操作都需要经过文件系统,删除文件指的是在文件系统里删除文件的索引条目,创建文件就是在在文件系统里添加索引条目并将具体数据写入磁盘。常见的文件系统格式有: FAT exFAT NTFS HFS+ 。文件系统位置一般在PBR之后。下图黄色部分 传统的 BIOS 引导操作系统过程如下图: 计算机器开机后,固化在 ROM 里的 BIOS 就会被加载到内存运行,BIOS 自检完毕以后加载 COMS 的参数,通过 COMS 的参数, BIOS 程序加载启动磁盘的 MBR 到内存里运行。通过运行 MBR 的代码,记录在 MBR 分区表中,标记为活动分区的磁盘分区 PBR 被加载到内存。与 MBR 类似,PBR 在运行后加载操作系统的引导程序到内存运行,例如 Windows 的 bootmgr 。当引导程序运行后,操作系统内核就被加载运行,完成从 BIOS 程序中接手的引导流程。 传统的 BIOS 比较低级,它不能像操作系统一样识别文件系统,所以磁盘必须要有一个固定的物理块作为引导块(Boot Block),这个引导块就是 MBR 。 GPT,即 Globally Unique Identifier Table ,全局唯一标识码分区表,简称 GPT 或 GUID 分区表(下面将混用这两个称呼)。由于 MBR 分区表 的局限性(还有 BIOS 的),GPT 诞生了。GPT 由 GPT 头和 GPT 主体,GPT 备份 组成。起始于磁盘 LBA1的位置,相对的 LBA0 仍然为 MBR ,但是这个 MBR 是被保护的,没有引导代码,仅仅有一个被标识为未知的分区,当支持 GPT 分区表的操作系统检索到这个 MBR 后就会自动忽略并跳到 LBA1 读取 GPT 分区表。如下图,由于篇幅的关系,表的长度比例不等同与实际在磁盘地址里的实际比例。 ...

February 28, 2020 · 3 min · Cat York

Microsoft SQL Server Versions List

Full List Source: https://sqlserverbuilds.blogspot.com/ Summary Table: Release RTM (no SP) Latest CU SQL Server 2025SQL Server 17 Public Preview SQL Server 2022SQL Server latest versionSQL Server 16 codename Dallas Release date: 2022-11-16 Support end date: 2028-01-11 Ext. end date: 2033-01-11 16.0.1000.6 CU20 (16.0.4205.1, July 2025) SQL Server 2019SQL Server 15 codename Aris Seattle Release date: 2019-11-04 Support end date: 2025-02-28 Ext. end date: 2030-01-08 15.0.2000.5 CU32 (15.0.4430.1, February 2025) SQL Server 2017SQL Server 14 codename vNext Release date: 2017-10-02 Support end date: 2022-10-11 Ext. end date: 2027-10-12 14.0.1000.169 CU31 (14.0.3456.2, September 2022) Starting from SQL Server 2017 Service Packs will no longer be released SP1 SP2 SP3 SP4 SQL Server 2016SQL Server 13 Release date: 2016-06-01 Support end date: 2021-07-13 Ext. end date: 2026-07-14 13.0.1601.5 + CU9 13.0.4001.0 or 13.1.4001.0+ CU15 13.0.5026.0 or 13.2.5026.0+ CU17 13.0.6300.2 or 13.3.6300.2 Obsolete versions – out of support SQL Server 2014SQL Server 12 Release date: 2014-04-01 Support end date: 2019-07-09 Ext. end date: 2024-07-09 12.0.2000.8 + CU14 12.0.4100.1 or 12.1.4100.1+ CU13 12.0.5000.0 or 12.2.5000.0+ CU18 12.0.6024.0 or 12.3.6024.0+ CU4 SQL Server 2012SQL Server 11 codename Denali Release date: 2012-03-06 Support end date: 2017-07-11 Ext. end date: 2022-07-12 11.0.2100.60 + CU11 11.0.3000.0 or 11.1.3000.0+ CU16 11.0.5058.0 or 11.2.5058.0+ CU16 11.0.6020.0 or 11.3.6020.0+ CU10 11.0.7001.0 or 11.4.7001.0 SQL Server 2008 R2SQL Server 10.5 codename Kilimanjaro Release date: 2010-04-21 Support end date: 2014-07-08 Ext. end date: 2019-07-09 10.50.1600.1 10.50.2500.0 or 10.51.2500.0 10.50.4000.0 or 10.52.4000.0 10.50.6000.34 or 10.53.6000.34 SQL Server 2008SQL Server 10 codename Katmai Release date: 2008-08-07 Support end date: 2014-07-08 Ext. end date: 2019-07-09 10.0.1600.22 10.0.2531.0 or 10.1.2531.0 10.0.4000.0 or 10.2.4000.0 10.0.5500.0 or 10.3.5500.0 10.0.6000.29 or 10.4.6000.29 SQL Server 2005SQL Server 9 codename Yukon Release date: 2005-11-07 Support end date: 2011-04-12 Ext. end date: 2016-04-12 9.0.1399.06 9.0.2047 9.0.3042 9.0.4035 9.0.5000 SQL Server 2000SQL Server 8 codename Shiloh Release date: 2000-11-30 Support end date: 2008-04-08 Ext. end date: 2013-04-09 8.0.194 8.0.384 8.0.532 8.0.760 8.0.2039 SQL Server 7.0SQL Server 7 codename Sphinx Release date: 1998-11-27 Support end date: 2005-12-31 Ext. end date: 2011-01-11 7.0.623 7.0.699 7.0.842 7.0.961 7.0.1063 SQL Server 6.5SQL Server 6.50 codename Hydra Release date: 1996-06-30 Support end date: 2002-01-01 6.50.201 6.50.213 6.50.240 6.50.258 SP4 6.50.281 SP5 6.50.416 SQL Server 6.0SQL Server 6 codename SQL95 Release date: 1995-06-13 Support end date: 1999-03-31 6.00.121 6.00.124 6.00.139 6.00.151

February 27, 2020 · 2 min · Cat York