averainy's Blog
averainy
Links
Share
16
Oct 2024
Chainloading to WDS From IPXE With UEFI
edit ipxe config file like boot.ipxe: item win-wds Windows Deployment Services :win-wds set wdsserver:ipv4 192.168.11.xxx #your wds server …
16
Oct 2024
Build Your Own PXE Boot Server on Fedora
Build your own PXE boot server on Fedora Background 通过这篇文章设置可以从BIOS和UEFI启动PXE网络安装操作系统。 安装前提 假设PXE服务器的ip地址是10.0.0.1 安装步骤 安装软件 更新PXE …
15
Oct 2024
在Fedora40上配置bind为缓存服务器
前提条件 服务器的 IP 地址是静态的,假设服务器的ip为192.0.2.1 安装软件 dnf install bind bind-utils 编辑 /etc/named.conf 文件 在options字段中进行以下修改: 更新 listen-on 和 listen-on-v6 …
11
Oct 2024
使用wg-easy管理Wireguard
最近为了开源节流,准备更换宽带运营商,大概率将不会有公网ip,所以在阿里云买了一台云服务器。为了连到家里得nas,决定选Wireguard。 docker-compose.yml配置如下: services: wg-easy: image: weejewel/wg-easy …
29
May 2024
How to Use Decorators to Print Log in Python
creat a decorator: def logDecorator(func): def wrapper(*args, **kwargs): print(f"Call function {func.__name__} with args {args} and kwargs …
29
May 2024
How to Use Decorators to Print Log in Typescript
creat a decorator: function logDecorator(target: any, propertyName: string, descriptor: PropertyDescriptor) { const originalMethod = …
12
May 2024
Exclude Package When Use Dnf Update or Upgrade Command
Sometimes it is useful to ignore specific packages from transactions, such as updates,upgrade. One such case, for example, could be when an …
25
Apr 2024
How to Upgrade from Fedora 39 to Fedora 40
升级Fedora40前准备 在升级Fedora40之前务必做好以下准备: 备份数据。 确保电源稳定。 确保网络正常。 升级Fedora40步骤 更新Fedora39 将Fedora39的所有软件包升级到最新版本 sudo dnf upgrade --refresh 安 …
22
Mar 2024
Svn Cleanup Failed to Run the WC Db Work Queue Associated With
go to https://www.sqlite.org/download.html and download sqlite-tools, copy sqlite3.exe to /.svn/. run cmd or powershell in /.svn/. access …
05
Mar 2024
Windows Wds Note
由于手头没有U盘启动盘,所以想着部署一个Windows WDS服务,遂照着这个链接做了一遍,搞完发现DHCP服务和WDS服务没起作用,即使关了防火墙也不行。后来误打误撞发现把DHCP服务重启下就好了。接着解决WDS服务的问题,结果发现是需要手动启用一下才行。真是巨坑无比。
17
Jan 2024
kvm虚拟机迁移操作手册(从Fedora39到Redhat9)
kvm虚拟机迁移操作手册(从Fedora39到Redhat9) 查看要迁移的虚拟机名 [root@kvm-179 ~]# virsh list --all Id Name State ----------------------------------- 1 a running …
11
Jan 2024
Linux Dmidecode Usage
dmidecode命令主要是通过DMI获取主机的硬件信息,通常是在不打开计算机机箱的情况下使用该命令来查找硬件详细信息。其输出的信息包括BIOS、系统、主板、处理器、内存、缓存等等。 什么是DMI?DMI (Desktop Management Interface, DMI)的主 …
06
Dec 2023
Implementing String Format Method with TypeScript
Implementing String Format Method with TypeScript const format = (msg: string, parames?: Object): string => { if (!parames) { return msg; } …
21
Nov 2023
How to Upgrade from Fedora 38 to Fedora 39
升级Fedora39前准备 在升级Fedora39之前务必做好以下准备: 备份数据。 确保电源稳定。 确保网络正常。 升级Fedora39步骤 更新Fedora38 将Fedora38的所有软件包升级到最新版本 sudo dnf upgrade --refresh 安 …
09
Nov 2023
How to Upgrade from Fedora 36 to Fedora 38
升级Fedora38前准备 在升级Fedora38之前务必做好以下准备: 备份数据。 确保电源稳定。 确保网络正常。 升级Fedora38步骤 更新Fedora36 将Fedora36的所有软件包升级到最新版本 sudo dnf upgrade --refresh 安 …
09
Nov 2023
How To Speed Up DNF Package Manager In Fedora, RHEL, CentOS, AlmaLinux, Rocky Linux And All RHEL-based systems
介绍 DNF是Fedora 25、RHEL8、Centos8、AlmaLinux 8以及Rocky Linux 8以上版本的默认包管理工具。 为了提高DNF更新的速度,无非有两点: 找到最快的源。 同时下载多个包,尽量将本地带宽跑满。 DNF默认的配置默认同时只能下载一个包,并且 …
08
Nov 2023
Use Systemd Auto Start Podman Container
使用docker的时候,只要将容器设置成restart:always就能使容器自启动,但是在podman里这样做是无效的。因为它使用systemd来管理服务。通过以下步骤即可创建自启动服务。 生成system service文件 podman generate systemd …
31
Oct 2023
Fedora38 Use Dnf Remove Old Linux Kernel
fedora38使用dnf查询已安装内核 sudo dnf list installed kernel 使用dnf删除旧kernel sudo dnf autoremove sudo dnf remove --oldinstallonly
31
Oct 2023
fedora38 gnome禁用自动睡眠
前段时间安装了fedora 38,然后想通过ssh远程接入。 我登陆fedora桌面系统之后,在设置里面已经关闭了睡眠,在没有登陆系统之后却依然会自动睡眠,只能通过下面的command命令解决。 sudo systemctl mask sleep.target …
23
Oct 2023
How to Switch Boot Target to Text or GUI in Systemd Linux
Find wich target uni is used by default sudo systemctl get-default Switching boot target to text To change boot target to the text mode: …
16
Oct 2023
Get Windows Installed Software by Winreg
def getInstalledProgramsFromRegistry(): registry_key =r"Software\Microsoft\Windows\CurrentVersion\Uninstall" registry_key_64bit = …
04
Sep 2023
Use Jquery Filter Same Elements with the same attributes and Hide Them
Use jquery to filter elements with the same attributes and hide them:
!DOCTYPE>
28
Aug 2023
常用正则表达式一览
目录 前言 邮箱 电话 域名 IP 帐号校验 字符校验 汉字 英文和数字 长度为3-20的所有字符 英文字符 由26个英文字母组成的字符串 由26个大写英文字母组成的字符串 由26个小写英文字母组成的字符串 由数字和26个英文字母组成的字符串 由数字、26个英文字母或者下划线组成 …
14
Jul 2023
Use Checkbox to Simulate Radio
复选框checkbox模拟单选框代码。
15
Jun 2023
Angular RxJS: Limiting Concurrent HTTP Requests
详细内容青参考Angular/RxJS: Limiting Concurrent HTTP Requests 其逻辑主要是用到了mergemap的concurrent参数,mergemap会尽可能多的执行请求,加上concurrent参数之后就能够使得一次执行concurrent …
15
Jun 2023
Aws Api Gateway Upload File 415 Unsupported Media Type
aws api gateway upload file 415 Unsupported Media Type 一般情况下,前端向服务端上传文件的方式基本如下: const formData = new FormData(); formData.append("userInfo", …
07
Jun 2023
sessionStorage用法
sessionStorage存储的数据会在会话结束(如关闭标签页或者浏览器时)的时候清除掉。每新开一个新的标签页就会有新的sessionStorage。各个sessionStorage之间无法互相访问。 sessionStorage语法 // 保存到sessionStorage …
13
Mar 2023
在Linux服务器上安装jstack、jmap等命令
如果你安装的是oracle jdk的话,应该不会有这样的问题。如果你安装的是openjdk,那么这篇文章会帮到你。 openjdk是不包含jstack、jmap等命令,你需要安装对应的openjdk-devel。 查看openjdk版本 yum list installed …
06
Jan 2023
如何查看Google Chrome标签页的内存使用量
最近有项目需要查看画面的内存使用量,于是搜索了一下,发现可以通过一下方法查询内存使用量: 在Chrome浏览器标签页按Shift+Esc按键就可以打开Chrome Task Manager。在Chrome Task Manager里可以看到实用程序、标签页、扩展等的内存、CPU、 …
06
Dec 2022
用python实现自动重启tplink路由器
原因 自从我的iPhone升级到iOS16之后,总是连不上家里的5G WiFi。开始确实是因为iOS16的bug造成的,升级到最新iOS版本之后稳定了几天,但是之后就又出现了连不上的情况,不过我老婆的手机和iPad倒是挺正常的。最后祭出重启路由大招,完美解决问题。于是想着做个定时 …
08
Nov 2022
使用python监控systemd服务修改版
以前写过一个监控systemd service的脚本,在使用过程中发现了一些问题,比如service不存在时,或者service状态是 **Active: active (exited)**的时候会误认为service未启动,因此做了一下修正。 代码如下: # -*- …
29
Oct 2022
在群晖设备上使用docker搭建cups服务器
今天终于在群晖ds218+上面配置好了cups打印服务。特地记录一下。 起因 我的打印机是brother hl-2260d。感觉是一个很特别的一个型号。群晖自带的打印驱动里面没有相应的驱动。只能用别的办法来实现。我这里是在群晖ds218+上面搭建一个docker容器。 搭 …
10
Oct 2022
在Cockpit中创建新的虚拟机
在KVM里可以通过命令行创建虚拟机,但是对于一个没怎么接触过Linux的人来说创建一个虚拟机就太不友好了。 如果你在用cockpit web console的话,那么通过点几下鼠标也是可以轻松创建虚拟机的。下面是创建步骤: 创建存储卷 点击左侧的虚拟机。 然后点击右侧上方的存储 …
09
Oct 2022
自动删除空文件以及空文件夹
背景 最近在整理nas上的文件,发现有很多的空目录没有删除。为了删除这些空文件和空文件夹,所以用python写了一个脚本来执行这些操作。 代码 #!/bin/python # -*- coding: utf-8 -*- import time import sys import …
02
Sep 2022
使用firewalld将端口流量转发到另一台服务器
目前国内处于新冠动态清零阶段,隔三岔五就会有地方被封控。因此有时候会有在家远程工作的需求。为了能够远程访问公司网络,我们采用了搭建wireguard vpn的解决方案。这样的话,每个人都需要在家里和公司的电脑上安装wireguard客户端,这样虽然也没什么问题。但是操作起来特别麻 …
02
Sep 2022
解决nginx: [emerg] host not found in upstream 'xxx.com'
我用nginx配置了一个反向代理,每次服务器重启之后,nginx都会报:nginx: [emerg] host not found in upstream 'xxx.com'的错误。这个错误的原因其实很简单,就是nginx无法解析xxx.com。解决方法就是以下流程: 确 …
02
Sep 2022
每月的第一个周六运行一个cron job
我这里有一个需求,需要每月的第一个周六晚上22点运行一个脚本。Google了半天发现有人给的解决方案是 0 22 1-7 * 6 /usr/bin/sh /root/py3env/src/auto_backup.sh 事实证明这样的写法是错误的,这样写的话每月的1到7号都会执行, …
22
Aug 2022
Mount Partitions Useing Uuid on Linux
今天真是撞大运,碰巧碰上了Rehhat 9系统里的/dev/sdx的名字每次重启系统后都跟着变。虽然听说过硬盘的名字可能会改变,但一直没见过。这次算是真开眼了。 为了解决这个问题,只好修改/etc/fstab里的配置,将硬盘名换成了硬盘名对应的uuid。据说这样就能够保证挂载的硬 …
17
Aug 2022
Wireguard客户端AllowedIPs 配置排除一个ip或者一个ip段
Wireguard客户端的配置中只有一个AllowedIPs配置来定义哪些ip或者ip段可以允许通过Wireguard客户端路由,因此如果想排除某个ip或者ip段,就需要将这些ip排除掉。 由于ip段太多,如果手动写会非常麻烦,幸好python有一个库可以帮我们解决这个问题,代码 …
01
Aug 2022
Wireguard Install Script
最近用wireguard安装脚本搭建wireguard服务器,用起来非常方便,推荐使用。 在下载脚本之后,强烈建议修改下生成客户端脚本的代码第313行,加入以下配置: PersistentKeepalive = 25 这样每隔25秒就会发送一次心跳包,以保持客户端与服务端的连接。 …
19
Jul 2022
Forwarding Ports With Firewalld
1.Enable IPv4 masquerade. firewall-cmd --add-masquerade --permanent 2.add firewalld rule. firewall-cmd …
08
Jul 2022
Use Chrony Test Ntp Server
when we have setuped a ntp service ,we need to test the ntp service if it work well. we can use the following command to test the NTP …
14
Jun 2022
Backup Kvm Vms With Python Libvirt
we changed the vm platform from esxi to kvm a few months ago,so we need to writ e some scripts to backup vms automatically. we only have a …
14
May 2022
Use Wireguard as Relay Node to Access Lan Network in Openwrt
背景 平时为了能够在外面随时连接家庭内部网络,通常有以下几种方式: 1.有公网ip的情况下,做端口映射 2. 没有公网ip的情况下,可以使用frp类似的技术做反向代理. 3. 使用vpn技术连接. 前面两种方式都需要将端口映射到公网,这就带来了被入侵的风险.这就不得不提到新冠病毒 …
05
May 2022
Create Kms Service in Linux
I create a kms service for the lan computers in a linux server recently,so record the steps download kms source and compile it cd …
24
Apr 2022
How to Convert Free Space in Qcow2 Image to Kvm Host
How do you convert free space within the QCOW2 disk image to free space on the kvm host? I use Virt-sparsify to do this. qcow2 image is a …
23
Apr 2022
Auto Select Fastest Proxy in Clash With Python
起因 为了能够方便家里的电脑,电视盒子以及手机能够方便的使用代理,因此在我的群晖上用docker部署了clash。同时为了能够自动选择响应速度最快的代理,因此,用python写了这个脚本。 将这个脚本加入到定时任务即可实现自动切换最快代理。 代码 # coding=utf-8 …
20
Apr 2022
Run Wireguard in Windows With No Administrator Permission
原因 在无管理员权限的Windows系统上无法运行wireguard GUI客户端,为此需要通过安装wireguard服务来解决这个问题。 操作方法 在没有管理权限的Windows系统上安装运行wireguard方法: 以管理员权限打开powershell窗口,运行: …
02
Apr 2022
Monitor Systemd Services With Python
systemd service有时会自动退出。在这种情况下,为了保证服务能够24*7运行,需要额外做一些监控,当服务挂掉之后能够自动重启。这里我使用python写了一个监控脚本,将这个脚本放到定时任务中,就能够做到自动重启的效果。 代码如下 # -*- coding: utf-8 …
31
Mar 2022
免费使用红帽开发者计划的个人红帽开发者订阅
1.什么是红帽开发者计划的个人红帽开发者订阅? 红帽开发者个人订阅是红帽开发者计划的免费产品,包括访问红帽企业 Linux 以及其他红帽产品。 它是一个专为个人开发者设计的计划和产品,可通过红帽开发者计划获得。 2.哪些 Red Hat Enterprise Linux 开发人员 …
04
Mar 2022
使用virt-install创建kvm虚拟机
终端命令行使用virt-install 创建win10虚拟机大概流程如下: 创建虚拟硬盘 qemu-img create -f qcow2 /home/kvm/data/win10_test/win10_test.img 40G 创建虚拟机 virt-install …
01
Mar 2022
获取当前Java程序PID
获取当前Java程序PID jvm1.8以上通用方式: String pid = ManagementFactory.getRuntimeMXBean().getName(); pid = pid.substring(0, pid.indexOf("@"));
27
Feb 2022
使用python删除重复文件
原因 群晖系统更新到 dsm7 之后,图片管理给切换到了 synology photos。结果就出现了没办法同步备份的问题,想解决问题只能将图片上传到共享空间,个人空间没办法自动同步备份。 为了解决这个问题,只好讲已有的文件挪到共享空间。同时又重新将 iCloud 上的图片同步了 …
11
Jun 2021
在LInux上使用ncftp上传整个目录到ftp服务器
一般有图形界面得环境下,我们都是通过有GUI的ftp客户端如winscp之类的上传文件夹。但是如果是在命令行模式下应该用哪个呢? 今天给大家推荐一个非常好用的命令ncftp。 安装ncftp客户端 ubuntu/debian系: sudo apt-get install …