Alist是一款支持多种存储(比如本地存储、阿里云盘、OneDrive、Google Drive)的目录文件列表程序,支持 web 浏览与webdav,且易于拓展. 后端基于gin,前端使用reactAList 从一开始就设计为易于安装,几乎一键开启.但是直接使用官方编译好的程序文件有时候不太满足自己的需求,这时候就需要自己修改源码然后编译安装了.我的需求是删掉"Aliyun Video Previewer"的默认预览,我将用Debian 11演示编译前的准备工作1.Golangwget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz tar -zxvf go1.21.0.linux-amd64.tar.gz -C /usr/local/ 配置 ${PATH} 包含 Go 的 bin 目录的环境变量 /usr/loca/go/bin:echo "export PATH=/usr/local/go/bin:${PATH}" | tee /etc/profile.d/go.sh source /etc/profile.d/go
BBRv3 GitHub地址: https://github.com/google/bbr/tree/v3整个过程和之前那篇编译内核有点相似配置要求:2核2GB内存以上,硬盘空间大于20GB本次用于编译的主机配置Processor : AMD Ryzen 7 7700X 8-Core Processor CPU cores : 2 @ 4491.560 MHz AES-NI : ✔ Enabled VM-x/AMD-V : ✔ Enabled RAM : 1.9 GiB Swap : 1024.0 MiB Disk : 28.5 GiB Distro : Debian GNU/Linux 11 (bullseye)购买链接安装依赖apt install git build-essential libncurses-dev libssl-dev libelf-dev bison bc flex rsync debhelper screen vim -y 下载源码本次编译的内核版本是6.5.3这里使用git的方式下载内核:git c
前言如果你非常注重个人隐私和安全,不想用大厂的邮件服务,那么自己搭建一个邮件服务器是一个不错的选择; 而且用自己的域名作为邮箱的后缀是非常有意思的,也好看;iRedMail是一套成熟稳定的邮件服务器系统,它免费,开源且拥有优秀的性能,全面实用的功能Github地址 官网准备工作确保你的服务器开启了25端口测试方法:telnet smtp.google.com 25 #谷歌邮箱地址 或者 telnet smtp.qq.com 25 #腾讯qq邮箱没有屏蔽显示如下:root@mail:~# telnet smtp.qq.com 25 Trying 43.129.255.54... Connected to smtp.qq.com. Escape character is '^]'. 220 newxmesmtplogicsvrsza9.qq.com XMail Esmtp QQ Mail Server. 屏蔽显示如下,一直在连接:root@mail:~$ telnet smtp.qq.com 25 Trying 203.205.232.7...很多云服务器基本都屏
备份现有apt源配置mv /etc/apt/sources.list /etc/apt/sources.list.old Debian 11全部复制后,直接粘贴并按下回车执行官方源cat > /etc/apt/sources.list << EOF deb http://deb.debian.org/debian/ bullseye main contrib non-free deb-src http://deb.debian.org/debian/ bullseye main contrib non-free deb http://deb.debian.org/debian/ bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free deb http://deb.debian.org/debian/ bullseye-backports main contrib non-free deb-src
因为内核的代码非常多,所以内核编译需要花费比较长的时间。当然,如果你的计算机性能强劲,时间会短很多.配置要求:2核2GB内存以上,硬盘空间大于20GB本次用于编译的主机配置Processor : AMD Ryzen 7 7700X 8-Core Processor CPU cores : 2 @ 4491.560 MHz AES-NI : ✔ Enabled VM-x/AMD-V : ✔ Enabled RAM : 1.9 GiB Swap : 1024.0 MiB Disk : 28.5 GiB Distro : Debian GNU/Linux 11 (bullseye)购买链接安装依赖apt install git build-essential libncurses-dev libssl-dev libelf-dev bison bc flex rsync debhelper screen -y 下载源码Linux内核官网:kernel.org本次编译的内核版本是6.4.11这里使用git的方式下载内核:git cl
Telegram 的机器人接口很开放,使用简单,100%开放无限制,相对微信服务号、公众号好很多。用来做一些小应用也很方便获取机器人Telegram 非常有趣,要新增自己的 Bot,只要跟 Telegram 上的 BotFather 说一下,他就会给你一个 Bot按BotFather 给你的步骤做,最后可以看到他会提供一个API Token 给你,只要有这个Token 就可以跟Bot 沟通。要保存好,等等会用到,也不要给别人看到,以免自己的Bot 变成别人的玩具。Go-Telegram-bot-apiGo 已经有社区开发的函式库: https://github.com/go-telegram-bot-api/telegram-bot-api新建项目初始化go mod init tgBot go get -u github.com/go-telegram-bot-api/telegram-bot-api/v5 之后只要 import 就可以使用:import ( tgbotapi "github.com/go-telegram-bot-api/telegram-bot-
主机配置建议在2c2g以上1.安装各种依赖apt install build-essential cmake pkg-config libssl1.1 libssl-dev libncurses5-dev libncursesw5-dev -y 2.下载源码wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.34.tar.gz 如需安装其他版本可以在官方下载页找 https://downloads.mysql.com/archives/community/3.解压源码包tar -xzvf mysql-boost-8.0.34.tar.gz 4.进入源码目录cd /mysql-8.0.34/ 5.创建build目录并进入mkdir build && cd build 在编译MySQL时创建build目录有以下好处:1.通过隔离源代码和编译输出,保持项目的组织结构清晰,便于清理和卸载生成的文件,同时支持多个构建配置。2.防止对源代码的污染,将编译过程中生成的临时文件和对象文件与源代码分开。3.增强构
I/O模型主要关注如何管理和处理输入输出操作,以确保数据能够有效地传输和处理。以下是一些常见的IO模型:阻塞IO模型(Blocking IO Model):在这种模型中,当应用程序执行IO操作时,程序会一直阻塞(即暂停执行),直到操作完成。这意味着应用程序在等待IO操作完成期间无法执行其他任务。非阻塞IO模型(Non-blocking IO Model):在这种模型中,应用程序可以继续执行其他任务,而无需等待IO操作完成。应用程序可以轮询或使用回调函数等方式检查IO操作的状态,并在数据准备就绪时进行读取或写入。多路复用IO模型(Multiplexing IO Model):这种模型使用操作系统提供的多路复用机制(如select、poll或epoll),允许应用程序同时监视多个IO操作的状态。应用程序可以通过单个系统调用等待多个IO事件的完成,从而提高效率。异步IO模型(Asynchronous IO Model):在这种模型中,应用程序发起IO操作后,不需要等待操作完成。相反,它可以继续执行其他任务,并在IO操作完成后得到通知。这种模型通常使用回调函数或事件驱动的方式来处理IO操作的结
initramfs(Initial RAM File System)是在Linux系统启动过程中使用的临时文件系统。它是一个初始阶段的根文件系统,用于在系统引导过程中提供必要的驱动程序和工具,以便能够加载真正的根文件系统并完成系统初始化。initramfs 的主要目的是解决在启动过程中可能遇到的问题,例如:1.硬件支持:某些硬件设备在启动过程中可能需要额外的驱动程序才能正常工作。initramfs 可以包含这些驱动程序,以确保系统能够正确地识别和操作硬件设备。2.文件系统支持:根文件系统所在的分区可能使用特定的文件系统格式,例如ext4、XFS等。initramfs 可以包含用于支持和挂载这些文件系统的模块和工具。3.加密和解密:如果系统的根文件系统使用了加密技术,initramfs 可以包含解密所需的工具和密钥,以便在启动过程中解密根文件系统。在引导过程中,引导加载程序(如GRUB)加载并解压缩 initramfs,将其加载到内存中作为根文件系统。然后,initramfs 中的初始化脚本(init script)负责执行一系列操作,例如加载必要的模块、挂载真正的根文件系统、执行系统初
Sitao
唯实惟新 至诚致志