GTX690战术核显卡导弹 - 2025年1月
type: channel
link: https://www.nekopara.uk/2025/01/
description: GTX690战术核显卡导弹的猫窝
items: 开新坑：入 门 Golang ！
items: 升级家里云：更换机箱和硬盘
items: 自建Jellyfin私人媒体服务器，告别屌毛网易云！
items: 记录一次主板不认Linux的EFI引导并修复
items: GTX780Ti彻底拆解
items: 收到了华为云送的新年礼物

开新坑：入 门 Golang ！
type: item
date: 2025-01-26T23:11:00+08:00
description: 为什么学Go?其实之前就有点想学，因为听说这个编程语言，既有Python的简单和方便，又有C的运行高效。实际上第一次接触到GO,是因为向自己改一下ZeroBot-Plugin这个项目的一点点代码，也就是CPU核心读取不正常的问题，我找LLM修复了一下面向LLM编程(bushi。看了看代码，有Python的基础，挺多能看懂的。这也坚定了我想要学Golang的想法。于是，这个寒假，在整理完成歌曲库，升级完成NAS后闲得蛋疼，我决定开始学习GO。本页面会随着我的学习进度逐步更新，权当是当个笔记了。第一个Ciallo WorLd！一般编程语言学习，第一个程序都是Hello World，但是这次我向整点不一样的：package main import "fmt" func main() { fmt.Println("Ciallo World!") }另外，有一个写代码小技巧，选取多行，按Tab可以整行缩进，Shift+Tab可以反向操作。Ctrl+/可以多行进行注释，对Debug很有用。变量与数据类型局部变量和全局变量局部变量示例：package main import "fmt" func main() { var ss int = 233 fmt.Println("Ciallo World!",ss) }全局变量示例：package main import "fmt" var ss int = 233 func main() { fmt.Println("Ciallo World!",ss) }或者这样，更加简洁：package main import "fmt" var( ss = 2333 st = "sxsxsx" fl = 1234.555 fl2 = 2323E+2 ) func main() { fmt.Println("Ciallo World!",ss,st,fl.fl2) }值得注意的是，在Go中，如果变量只声明而不使用，编译就会报错。int数据类型在Go语言中，int 类型与 int8, int16, int32, 和 int64 都是用来表示整数的数据类型，但它们之间存在一些关键区别，主要体现在大小、范围和平台依赖性上。下面是这些类型的区别列表说明：类型占用空间数值范围适用场景int88位（1字节）-128 到 127需要节省内存且数值范围较小的场景int1616位（2字节）-32,768 到 32,767比int8更大的范围，但仍需控制内存使用时int3232位（4字节）-2,147,483,648 到 2,147,483,647处理更广泛的数值，例如时间戳或计算密集型应用int6464位（8字节）-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807非常大的整数值或者需要精确到极大值的应用场景int取决于平台（32位系统上为4字节，在64位系统上为8字节）范围取决于系统的架构大小不考虑具体大小的通用情况，追求代码的可移植性和简洁性声明变量：直接赋值var a int8 = 10 // int8 类型变量a被赋予值10 var b int16 = -200 // int16 类型变量b被赋予值-200 var c int32 = 30000 // int32 类型变量c被赋予值30000 var d int64 = 400000 // int64 类型变量d被赋予值400000 var e int = -500 // 根据系统架构决定大小的int类型变量e被赋予值-500使用短变量声明f := int8(100) // 使用短变量声明为int8类型变量f赋值100 g := int16(-30000) // 使用短变量声明为int16类型变量g赋值-30000 h := int32(50000) // 使用短变量声明为int32类型变量h赋值50000 i := int64(600000) // 使用短变量声明为int64类型变量i赋值600000 j := int(-600) // 使用短变量声明为int类型变量j赋值-600float数据类型包括float32和float64：类型占用空间精度数值范围（大约）适用场景float3232位（4字节）小数点后约7位有效数字±1.5 × 10^-45 到 ±3.4 × 10^38对内存使用敏感且不需要高精度的场合，例如图形处理、物理仿真等需要大量浮点计算但对精度要求不是极高的应用float6464位（8字节）小数点后约15位有效数字±5.0 × 10^-324 到 ±1.7 × 10^308需要高精度的数值计算，如科学计算、金融计算等声明变量：直接赋值var k float32 = 123.456 // fl…

升级家里云：更换机箱和硬盘
type: item
date: 2025-01-23T23:06:00+08:00
description: 主板是弯的？！偶然一次机会，我拆开了我的NAS。然后发现，因为机箱太过劣质，主板安装的位置有一点变形，主板已经被槁弯了。大无语。于是我就想换一个机箱。正好放假了，我就和我朋友去大战电脑城，20的价格搞下了联想的启天M5900机箱。后面去淘宝查了一下，这个机箱基本都要50，还不包邮，运费都要35。这波大战电脑城血赚！众所周知，品牌机的机箱一般做工都会比较扎实，并且有不错的风道，这就是我选择捡垃圾品牌机机箱的原因。不得不说，这个机箱确实做工扎实，外观沉稳大气。挺不错的。前面板通透的散热孔，这也是为什么我选择这款机箱的原因。2017年12月出厂，不算特别老古董。但是不知道为什么我收回了外观成色这么差，内部倒还挺干净。确定升级计划机箱已经搞到手了，接下来就是硬盘了。原来的数据盘是两块3TB的硬盘组的RAID1。而我后面在有了NAS后，中奖获得了一块4TB的机械硬盘，再加上之前有一个UP送的4TB硬盘，这下不就可以组RAID1了吗？虽然但是，这两块硬盘，一块是日立，128MB缓存；另一个是东芝，64MB缓存。但容量是一样的，所以理论上应该是没问题的。至于系统盘，我打算抽掉我机架服务器的1TB希捷酷鱼。其实前面说的两块4TB的硬盘也是从机架服务器抽的，因为用不到，装上去一直闲置，有一个6TB的SAS盘还没用到一半。。。至于换下来的3TB硬盘？我的想法是丢到我另一台电脑上面去作备份盘，还有一块就插到我的机架服务器里面。唯一不爽的是，我家里云128天的Uptime要被打破了。进行升级确定了计划，那我们就开干吧！清理干净捡来的机箱，正是开始工作！改跳线联想的机箱有一个很阴间的点，那就是跳线不是标准的跳线规格。由于我不需要前置的USB和音频，这两个不接就不接吧，没什么问题。但是开关，指示灯总得接上吧？其实不接也行，设置来电自启就是了（X）反正就三组线：开关 电源灯 硬盘灯 去网上查一下联想机箱或者联想主板跳线的定义，直接自己魔改就行。因为原来的跳线是杜邦线插在了定制的插头上，用细小的螺丝刀挑出来，然后也把旧机箱的插头挑出来，再根据定义，把线插到普通主板跳线接头对应的位置，就行了。当然，你也可以去淘宝几块钱买一套转接线。拆旧的NAS一打开，灰尘，灰尘，还是他妈的灰尘！！！太离谱了，开机一年的NAS，内部简直是出土文物！！！出土的风扇：出土的数据盘：这就是直接用风扇对着硬盘吹的代价，温度很好看，即是夏天，，但硬盘恐怕不好看。装机测试过程我就省略了，装机这么简单的事情，谁不会啊？看看效果吧：为了保护数据盘，我的两个数据盘安装在原生的3.5寸硬盘位上面。系统盘通过支架装在了光驱位，固体硬盘就直接吊着了，反正固态硬盘无所谓。不多不少，刚刚好。后面测试了一下，待机功耗变低了一些，应该是硬盘的功劳。当然，我去掉了一个风扇，应该也有影响。从40W变成37.5w了：迁移数据我用的CloneZilla进行迁移，选择device to device模式。过程很简单，跟着提示走就行了。后面启动系统后在cockpit控制台把/home的分区拉大就行了。我只是迁移系统盘，数据盘需要重新组阵列然后再用rsync迁移数据。把之前的两个数据盘插到另一台电脑，然后直接：rsync -aAXvz -e ssh --info=progress2 /mnt/data root@192.168.1.233:/mnt/4T-RAID1/这里我是按照权限的设置，SELinux的标签，全部都同步过去了，避免兼容性问题。最后，各项服务成功启动，迁移完成！投入使用的效果拆开侧板和前面板：后续：加了个风扇虽然说品牌机机箱风道很不错，但是没有风扇光有风道也没用。只靠电源的那个小风扇没办法降温，于是我在某宝花了7块钱搞了个磁悬浮风扇，外加5块钱搞了个PWM调速器。再找个挡板，魔改一下，完美。调速旋钮伸出机箱，这样调节的时候就不需要拆开了。

自建Jellyfin私人媒体服务器，告别屌毛网易云！
type: item
date: 2025-01-18T19:24:00+08:00
description: Jellyfin私人媒体服务器搭建指南成功搭建了jellyfin服务器，拥有了自己的私人媒体库，记录一下折腾过程。起因∶网易云无故被封促进我自建媒体库的原因，是因为网易云乱封号，两次把我的号给封了。理由居然是——播放数据异常真就是，想封你，随便编个理由，直接就封。纯脑残！其实之前我就有点想搞媒体服务器了，但是由于我看番都是用种子下载看番，而且番剧看一次也就过去了，我觉得也没用留着的必要。毕竟番剧的一话，1080P 60帧，都要差不多1GB了，看番多的话，文件破TB级那是轻轻松松。这次封号，算是坚定了我的想法。我觉得国内互联网公司绝大部分都是狗屎，让人无语。其实是2024年10月封的号，但是我2025年1月才开始折腾媒体服务器。因为之前都在学校，课业繁忙，乐的要死，因为整理音乐库费时费力，所以我打算放假再搞。事实证明我的想法是对的，我前前后后整理了快一个星期，整理了绝大部分，但是还有相当一部分歌曲还没整理。太累了，让我歇歇。目前已经整理了1300+首歌，文件夹已经90G+了。。。为什么选择了Jellyfin？免费，开源。开源，开源，开源，还是他妈的开源！我是支持GNU自由软件运动的人，自然更倾向于使用开源的解决方案，尤其是使用GPL协议的开源软件。顺带一提，我主力操作系统早就已经换成GNU/Linux了。部署Jellyfin下载Jellyfin直接前往官方网页下载即可，我用的最新版，目前是10.10.3。下载链接：repo.jellyfin.org/?path=/server/linux/latest-stable下载FFmpeg由于我服务器使用的是AlmaLinux8.10，是服务器发行版，其自带的FFmpeg比较老，新版的Jellyfin并不兼容。虽然可以通过yum包管理器直接安装对应版本的Jellyfin，并且不会出现兼容问题。但是旧版的Jellyfin并没有歌词支持，对我来说比较蛋疼，因为我主要想做的就是歌曲的媒体服务器。我下载的是7.0.2版本的，这种的话，我更倾向于使用最新版的前一个稳定版。下载地址：ffmpeg.org/releases/ffmpeg-7.0.2.tar.xz自定义环境变量，以使用自定义的ffmpeg我的做法是，把FFmpeg和Jellyfin解压后，分别放到了不同的文件夹，然后在根目录文件夹放了一个启动脚本。以下是启动脚本的内容：#!/bin/bash # 定义FFmpeg二进制文件所在的路径 FFMPEG_PATH="./ffmpeg/bin" # 将FFmpeg路径添加到PATH环境变量的最前面 export PATH="$FFMPEG_PATH:$PATH" # 启动Jellyfin ./jellyfin/jellyfin脚本保存为run.sh，然后再：chmod +x ./run.sh试一下执行这个脚本，看看Jellyfin有没有启动成功，如果启动成功后就完事了。配置Jellyfin初始化配置打开浏览器，输入服务器对应的ip+8096端口，例如：127.0.0.1:8096按照指引，设置用户名和密码。这部过于简单，有手就行，不多赘述。配置HTTPS访问这个Jellyfin比较特别，需要使用pfx证书，而不是常见的pem+key的证书组合。我们需要把pem和key证书转成pfx格式。下面是一个shell脚本，可以便利当前目录的pem+key证书，并且转换为pfx证书放到当前目录的pfx_cert/文件夹内：#!/bin/bash # 定义输出目录 OUTPUT_DIR="pfx_cert" # 创建输出目录（如果它不存在） mkdir -p "$OUTPUT_DIR" # 遍历所有的 .key 文件 for key in *.key; do # 获取不带扩展名的文件名 base_name="${key%.key}" # 检查对应的 .pem 文件是否存在 if [[ -f "${base_name}.pem" ]]; then echo "正在处理 $base_name..." # 转换为 PFX 格式 openssl pkcs12 -export \ -out "${OUTPUT_DIR}/${base_name}.pfx" \ -inkey "$key" \ -in "${base_name}.pem" \ -certfile le-chain.pem echo "已生成 ${OUTPUT_DIR}/${base_name}.pfx" else echo "警告：找不到与 $key 对应的 .pem 文件" fi done把以上内容保存到to_pfx.sh，然后：chmod +x ./to_pfx.sh ./to_pfx.sh当要求输入密码的时候，直接回车，不设置密码。在Jellyfin…

记录一次主板不认Linux的EFI引导并修复
type: item
date: 2025-01-16T12:26:00+08:00
description: 修复联想整机主板不认Linux EFI引导唐氏联想主板BIOS今天我手贱，倒腾了一下家里的联想台式机。结果发现再次开机显示：Operating System not found我直接蒙逼——系统盘我啥都没动！后面折腾了好多次，还是不行。我觉得不应该，于是拿来了另一个主板。好家伙，直接引导进系统了！联想，我日你仙人！我也是第一次遇到这种问题，来来回回折腾了一个晚上，好在后面解决了。记录一下。修复主板引导进入Linux Live环境首先要准备一个能启动Linux live 环境的镜像，把他丢到Ventoy启动盘里面。这个镜像最好是和被修复系统是同一个发行版，我这里是AlmaLinux。然后开机的时候，选择启动设备，选择Ventoy启动盘，进入Linux的Live环境。执行修复修复命令如下：efibootmgr -c -d /dev/sdb -p 1 -L "AlmaLinux" -l \\EFI\\almalinux\\grubx64.efi/dev/sdb替换成live环境下你系统盘的设备文件。-p 1中的1是EFI分区编号，是第几分区。-L "AlmaLinux"中，AlmaLinux是启动项的名称。-l \\EFI\\almalinux\\grubx64.efi这个是指定efi文件路径。完事后，重启，应该就能引导系统了。

GTX780Ti彻底拆解
type: item
date: 2025-01-07T20:13:00+08:00
description: 80包邮的显卡手办这张GTX780Ti是我花了80包邮盘下来的。卖家说成色不错，但是是坏卡，点不亮。因为不是很像拿那张好的卡做摆件，怕把玩坏（主要是静电），正好遇到便宜的坏卡，就买了。到手外观到手后感觉橙色确实可以，原灰未动。就是散热器的散热片颜色不太对，按理来说应该是黑色的，感觉应该是装了GTX780的散热片。两张GTX780Ti白色散热器那张是新买的，还没清灰，有点脏。拆解显卡拆开了，全是渗油的导热垫感觉PCB的橙色确实可以，目前不能确定是什么问题，打算放假回去让我朋友帮看看，如果能修就修，救不了就安心做摆件了。沾满硅油的中框看得出来，GTX780Ti确实是大核弹，发热巨大。拆下来的涡轮风扇特写其实这玩意正确的叫法是离心风扇这玩意是最难清理的，如果想要清理的干干净净的话，扇叶很难清理，比轴流风扇难多了。清理后的PCB感觉还是很干净的，氧化腐蚀的痕迹并不明显。整体PCB橙色比我另一张卡好太多了。全部零件合影我感觉如果搞个展示框，裱起来，应该是挺好看的。上机“点亮”（迫真）反正是坏卡，上机后，灯亮了，风扇转，卡自检卡比尔。就那样吧。

收到了华为云送的新年礼物
type: item
date: 2025-01-01T18:00:00+08:00
description: 收到礼物的原因2024年12月低，我为了白嫖华为云代金券参加了华为云的在线课程。完成了两个任务，白嫖了200的代金券。其中一个任务还可以申请领取水杯。于是我就申请了，没想到华为云居然掐着点，2025年1月1日送到了。礼物展示就是一个蓝色的水杯，虽然说不上特别而好看，但是我感觉还行。礼轻情意重 白送的不要白不要