zhuizhuhaomeng Blog

「记录下来,一切都会更容易理解」

U 盘照片恢复

U 盘出问题了,U 盘上的照片读不出来,心里那个郁闷啊。 好在有万能的 Linux 可以帮忙。仅仅用下面的命令就将 U 盘上的照片恢复了。 注意,如果你也要恢复文件,需要将 /dev/sdc 替换为你实际的 U 盘设备。 1 2 3 4 5 sudo apt-get install testdisk cd ~ mkdir recup_dir sudo photorec /d recup_...

我常用的 docker 命令

让容器开机启动 首次执行使用这个命令 1 docker run --restart=always --name container-name -d 4e97feadb276 /bin/bash 修改已经存在的容器使用这个命令 1 docker update --restart=always 0576df221c0b 把容器当成虚拟机来执行 构建容器 把下面的配置保存到文件 ...

一个 LuaJIT 的 ffi.copy 内存越界导致进程崩溃的问题

问题代码 我们 OpenResty 的 privilege 进程经常崩溃,最终发现是类似于下面这样的代码出现的问题导致的。 1 2 3 4 local src = "a string value" local len = #src local dst = ffi.new(len) ffi.copy(dst, src) 导致改写的原因 如果你没有办法一眼看出来是怎么回事,那么是很正常...

OpenResty 拦截并使用 HTTP 代理流量

我需要用到 HTTP 用代理,因为一些网络限制的客观原因没有办法直接连接 HTTP 代理。 因此我们通过将流量导入 OpenResty 节点,然后用 OpenResty 的 stream 模块的 content_by_lua 代理流量到 HTTP proxy 节点。 需要注意,网络的很多透明代理是指 OpenResty 网关代理客户端的流量,保持客户端 IP 地址不变。 我这里的透明代理是...

build curl that support http3 from source code

I build the curl on ubuntu-20. You need to change the dependences if you want to build on other OSes. install the dependences first 1 2 3 4 5 6 7 8 sudo apt-get install -y libsystemd-dev sudo a...

Linux 网络调优

为了充分利用机器的性能,我们需要对 Linux 系统参数进行调优。 比如 Nginx/OpenResty 服务器做反向代理,我们就希望单击可以达到百万连接数。 调优的过程中,我们要采用自顶向下,逐层递进的方式来进行调优。这里的自顶向下不是说从应用层到物理层, 而是说我们应该从粗到细,而不应该一下子陷入细节。 在调优之前,我们应该先识别系统的瓶颈,一般都采用模拟业务的压测的方式来制造瓶颈是...

Linux coredump 配置

apport 默认的 core_pattern ubuntu 22 的 core pattern 默认如下: 1 2 $ cat /proc/sys/kernel/core_pattern |/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -- %E 日志文件 在默认配置下,如果进程产生崩溃,那么生成的日志会在...

给 kvm 虚拟机扩展磁盘分区

使用 virt-filesystems 查看当前的虚拟机的磁盘分区的情况。 可以看到磁盘 /dev/sda 分成两个分区,分别是 /dev/sda1, /dev/sda2。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 $ virt-filesystems -h --all --logical-volumes --long -a centos9.qcow2 Name...

如何更改启动的内核

查看当前安装的内核 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 $ sudo grubby --info=ALL index=0 kernel="/boot/vmlinuz-4.18.0-477.10.1.el8_8.x86_64+debug" args="ro crashkernel=auto resume=/dev/...

ocserv 组网配置

参考文档 搭建过程主要基于官方文档:https://ocserv.gitlab.io/www/manual.html 主要参数 这里假设域名为 my.com, 请根据实际需要修改。后面会反复用到 my.com 这个域名 参数名称 参数值 说明 认证方式 证书   ...