使用qcow2镜像安装debian后扩容

安装所需要的命令

sudo apt update -y && sudo apt install -y parted
  • parted 是硬盘分区工具,这里用来查看磁盘分区情况,按需删除不需要的分区,以及扩展分区容量

准备

  1. 查看磁盘空间
df -h

输出

Filesystem      Size  Used Avail Use% Mounted on
udev            940M     0  940M   0% /dev
tmpfs           198M  800K  198M   1% /run
/dev/vda1       2.8G  918M  1.8G  35% /
tmpfs           989M     0  989M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/vda15      127M   12M  115M  10% /boot/efi
tmpfs           198M     0  198M   0% /run/user/0
  • 可以看出我的根目录的磁盘为 /dev/vda1 只有2.8GB,所以需要对它进行扩容
  • 我这里没有swap分区所以不需要关闭swap,但是如果开了swap需要先关闭swap

删除swap分区

  1. 关闭swap
sudo swapoff -a
  1. 编辑 /etc/fstab 和 /etc/initramfs-tools/conf.d/resume 这两个文件,删除 swap 所在的行,然后更新引导配置:
sudo update-initramfs -u && sudo update-grub
  • 注意扩容成功后如果还需要swap分区需要重新添加swap分区

查看磁盘信息

注意 /dev/vda 修改你为的盘符

utm加载qcow2镜像安装linux显示Display Output is Not Active

  1. 点击创建一个虚拟机 /images/2025/03/1.png
  2. 虚拟化点击其它 /images/2025/03/2.png
  3. 启动设备选无 /images/2025/03/3.png
  4. 设置cpu和内存
  5. 后面的直接继续就行了
  6. 打开虚拟机设置 /images/2025/03/4.png
  7. 修改网络设置为桥接 /images/2025/03/5.png
  8. 新建串行 /images/2025/03/6.png
  9. 删除默认的驱动器 /images/2025/03/7.png
  10. 导入qcow2镜像 /images/2025/03/8.png
  11. 保存虚拟机设置 启动虚拟机就会弹出两个窗口,一个创建不能显示内容,但是另外一个是有linux终端,这样就可以操作Linux,下一个文章解决qcow2安装后扩容

安装了magisk的pixel4xl升级到安卓13

原因

我的pxiel4xl在线升级安卓13的时候报升级出错,后来找了一下原因,是因为系统更新(OTA)更新的时候,会检测验证system分区是否完整,如果被修改,则会导致更新失败,所以在下载的时候直接提示安装失败。刷Magisk时修改了boot.img这个system分区的文件,所以刷Magisk后不能直接安装OTA更新。

解决方法

准备工作

  1. 先关闭开发者设置中的系统自动更新 /images/pixel-4xl-devlper-settings-xxxxxxx.png

先卸载magisk

  1. 打开Magisk
  2. 点击卸载Magisk
  3. 点击弹出窗口的还原原厂镜像 还原远程镜像会可能会提示 stock backup does not exist 原厂镜像备份不存在

解决原厂镜像不存在的问题

如果还原成功不需要进行该操作

  1. 在设置里面打开关于手机->版本号

    /images/pixel-4xl-about-device.jpg

    我在这里的版本号就是 221005.002 ,你需要注意你的安装版本号

  2. 下载对应的镜像

    下载网页

    找到你手机对应的版本号下载

  3. 解压boot.img

    在下载好的压缩包找到 image- 开头的压缩包

    再从这个image-开头的压缩包里面提取boot.img

  4. 制作准备还原的boot.img

    1. 在电脑上push boot.img到手机上
    adb push boot.img /sdcard/boot.img
    1. 进入adb shell
    adb shell
    su
    1. 分别执行一下命令
    SHA1=$(cat $(magisk --path)/.magisk/config | grep SHA1 | cut -d '=' -f 2)
    gzip -9f /sdcard/boot.img
    mkdir /data/magisk_backup_${SHA1}
    mv /sdcard/boot.img.gz /data/magisk_backup_${SHA1}/boot.img.gz
    chmod -R 755 /data/magisk_backup_${SHA1}
    chown -R root.root /data/magisk_backup_${SHA1}

    上面的操作都成功了就可以了

SpringBoot配置VueJs或者React的history路由

一般在配置前端的文件夹的时候都会指定一个路径,如果你想使用根路径我这种方法不支持根路径,请使用另外一种支持根路径的配置方法。

配置

比如把前端放在 h5 路径下面

  1. 把前端打包的文件放在resource/META-INF/h5 目录

    /images/DraggedImage-2-20191026140056310.png

  2. 修改Spring Boot WebMvc的配置

    @Configuration
    public class WebMvcConfiguration implements WebMvcConfigurer {

        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/h5/**")
                    .addResourceLocations("classpath:/META-INF/h5/");
        }

        @Override
        public void addViewControllers(ViewControllerRegistry registry) {
            // 配置如果用户访问的是根目录直接重定向掉h5页面
                registry.addRedirectViewController("/", "h5");
            // 配置用户如果访问h5路径但是没有带index.html 转发到 /h5/index.html 路径
                registry.addViewController("/h5")
                    .setViewName("forward:/h5/index.html");
            registry.addViewController("/h5/")
                    .setViewName("forward:/h5/index.html");
            // 一下是为了给前端 history路由的一些配置
            registry.addViewController("/h5/{spring:\\w+}")
                    .setViewName("forward:/h5/index.html");
            registry.addViewController("/h5/**/{spring:\\w+}")
                    .setViewName("forward/h5/index.html");
            registry.addViewController("/h5/{spring:\\w+}/**{spring:?!(\\.js|\\.css)$}")
                    .setViewName("forward:/h5/index.html");
        }
    }

在 centos 上搭建k3s 集群

介绍 k3s

k3s 是Rancher Labs(以下简称Rancher)宣布推出轻量级Kubernetes发行版K3s(已开源),这款产品专为在资源有限的环境中运行Kubernetes的研发和运维人员设计。Rancher此次发布的K3s项目,将满足在边缘计算环境中运行在x86、ARM64和ARMv7处理器上的小型、易于管理的Kubernetes集群日益增长的需求。

开始安装

  1. 安装 docker  官方文档  这里推荐使用官方的脚本一键安装

    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh

    如果你想使用 k3s 默认的 contanerd 容器可以跳过,但是由于我对 contanerd 不熟悉所以我在这里使用的是 docker

  2. 安装 k3s server

    安装 k3s server 有几种方式,由于 k3s 的执行文件是是放在 github上的,但是在中国由于网速不好可能会导致下载不下来,所以可以先使用其它工具下载可执行文件然后上传到服务器上的 /usr/local/bin 目录下,然后执行 chmod 0755 /usr/local/bin/k3s  命令给与执行权限

    直接下载安装:

    curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server --no-deploy traefik --docker" sh -s -

    自己下载安装:

Golang在Windows上同时编译64位和32位可执行程序

Golang 在 Windows 上同时编译64位和32位可执行程序

需要在windows上同时编译需要64位的系统,32位只能编译32位的可执行程序。

  • 编译32位
    GOOS=windows GOARCH=386 go build main.go
  • 编译64位
    GOOS=windows GOARCH=amd64 go build main.go

遇到的问题

由于在项目中用到了sqlite所以在编译的时候报 exec: “gcc”: executable file not found in %PATH%,这是因为在windows上缺少 gcc,所以在windows 上需要安装 MinGW