Linux 优化

use ssh git config --global url.ssh://git@github.com/.insteadOf https://github.com/ Useful utils earlyoom adguardhome warp-svc systemd-resolved gamemode ufw apparmor proxychains sudo systemctl daemon-reload sudo systemctl enable fstrim.timer sudo systemctl enable systemd-zram-setup@zram0.service sudo systemctl enable nvidia-suspend.service sudo systemctl enable systemd-resolved.service /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=0 radeon.dpm=1 amd_pstate=active processor.ignore_ppc=1 nvidia_drm.modeset=1 nvidia_drm.fbdev=1 mem_sleep_default=s2idle nowatchdog nmi_watchdog=0 snd_hda_intel.power_save=1 iwlwifi.power_save=1 usbcore.autosuspend=60 mitigations=auto apparmor=1 security=apparmor lockdown=integrity quiet splash" ...

<span title='2024-09-03 13:25:27 +0800 +0800'>September 3, 2024</span>

在Debian+自定义内核上启用安全启动

注意: Debian/Fedora/Ubuntu 官方支持了安全启动,因此属于‘使用已签署的引导加载程序’,支持的方式为shim 根据Debian wiki对安全启动的描述中可以得知,Debian自带了EFI系统签名因此无需手动注册,但是由dkms加载的内核模块没有经过MOK的注册,因此需要手动注册: sudo mokutil --import /var/lib/dkms/mok.pub #由MOK注册,执行完需要重启 接下来,由于使用的是自定义内核,所以内核也需要手动签名后由MOK注册: #创建一个机器所有者密钥(MOK): openssl req -newkey rsa:4096 -nodes -keyout MOK.key -new -x509 -sha256 -days 3650 -subj "/CN=my Machine Owner Key/" -out MOK.crt openssl x509 -outform DER -in MOK.crt -out MOK.cer #手动签署你的引导加载程序(名为grubx64.efi)以及内核: sbsign --key MOK.key --cert MOK.crt --output /boot/vmlinuz-linux /boot/vmlinuz-linux sbsign --key MOK.key --cert MOK.crt --output esp/EFI/BOOT/grubx64.efi esp/EFI/BOOT/grubx64.efi sudo mokutil --import MOK.cer #由MOK注册,执行完需要重启 ...

<span title='2024-09-02 21:48:27 +0800 +0800'>September 2, 2024</span>

NTFS 的一些小技巧

鉴于内核在 5.15 之后合并了NTFS3的内核驱动使得读写能力大幅提升,可以把ntfs-3g扔掉了 # sudo vi /etc/udev/rules.d/ntfs3_by_default.rules SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="ntfs", ENV{ID_FS_TYPE}="ntfs3" ENV{UDISKS_MOUNT_OPTIONS_DEFAULTS}="uid=1000,gid=1000,rw,user,exec,umask=000" 注:选项是把NTFS3作为默认挂载驱动,并且挂载选项使用了proton建议的设置

<span title='2024-09-02 20:48:27 +0800 +0800'>September 2, 2024</span>

linux 使用 doh

在比较了archwiki关于dns的介绍后 在smartdns/coredns/unbound/dnsencrypt-proxy之中选择了后者 coredns和unbound对于桌面linux用户而言过于复杂且不好配置 而smartdns面对老前辈dnsencrypt-proxy而言缺少了自动获取doh源的功能 安装 首先sudo -s进入root shell 然后ss -lp 'sport = :domain'查看端口是否被占用 确保127.0.0.1:domain没有被占用即可 如果有占用需要停止目前使用的dns服务 例如systemctl disable systemd-resolved 然后根据发行版安装二进制包 配置文件的位置在/etc/dnscrypt-proxy/dnscrypt-proxy.toml 启动服务systemctl enable dnscrypt-proxy.service --now 让dns服务器指向本地的dnscrypt-proxy 修改/etc/resolv.conf nameserver ::1 nameserver 127.0.0.1 options edns0 然后chattr +i /etc/resolv.conf来放置resolv.conf被networkmanager或其他网络服务覆写 打开浏览器并前往dns leak test并进行扩展测试,如果结果显示您在配置文件中设置的服务器,则表示dnscrypt-proxy正在工作,否则出现问题。

<span title='2023-08-09 17:26:27 +0800 +0800'>August 9, 2023</span>

基于KVM的虚拟显卡透传技术

0.准备工作&检查 显卡直通的前提条件是: NVIDIA 独立显卡本身要具有视频输出功能 机身上至少有一个连接到独立显卡的视频接口 安装kvm虚拟机,具体步骤参照本博客archlinux安装或archlinux wiki 强烈建议阅读本文时参照下面几篇文章: PCI_passthrough_via_OVMF_ARCHLINUX wiki Optimus MUXed 笔记本上的 NVIDIA 虚拟机显卡直通 vanities/GPU-Passthrough-Arch-Linux-to-Windows10 Public KVM-GPU-Passthrough Optimus笔记本虚拟机显卡直通 Linux低延遲在Windows虛擬機玩遊戲 ~ QEMU/KVM + VFIO雙GPU直通 + Looking Glass安裝過程 1.1开始 1.1隔离独显 1.1.1引导镜像的编辑 运行 lspci -nn | grep NVIDIA,获得类似如下输出,中括号里的八位是我们需要的 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] [10de:2520] (rev a1) 01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:228e] (rev a1) ...

<span title='2023-08-02 21:48:27 +0800 +0800'>August 2, 2023</span>