git仓库迁移(包括提交记录)

背景 一次vps中毒,决定把个人使用的代码仓库迁移到内网的NAS服务器,涉及到几百个提交记录也需要同步迁移到新仓库。 本次使用gitlab作为示例。 迁移过程 # 在新搭建的gitlab新建仓库:home,注意不用带上README.md文件。 # 克隆原有项目 git clone http://xxx/myOrigin.git # 保证本地有旧有仓库的所有分支,最后git push origin –all的时候才会把所有分支迁移过去 git checkout branch_name # 保证本地有旧有仓库的所有tag,最后git push origin –tags的时候才会把所有tag迁移过去 git checkout tag_name # 显示本地所有的远程仓库地址 git remote -v # 注意:若有关联,先删除本地代码分支与旧Gitlab分支的关联关系 # 没有就不需要执行 # git remote remove origin # 把旧远端仓库改个名字,当前的一般默认origin, # 注意:想回到旧仓库就要切换回去 git remote rm origin; git remote rename old-origin origin git…

Continue Reading

zfs文件损坏自愈测试

背景 测试在硬盘冗余的zfs文件系统下,某个硬盘里的文件损坏后是否可以正常访问。 环境信息 系统:ubuntu22.04.4,使用VMware虚拟机创建,除了系统盘之外,添加另外两个相同大小的1G虚拟磁盘。 zfs版本: (py38) pc@vm-ubuntu2204:~$ zfs -V zfs-2.1.5-1ubuntu6~22.04.4 zfs-kmod-2.1.5-1ubuntu6~22.04.3 模拟过程 建立zfs池和数据集 建立两个盘的池,有硬盘冗余,raid-1模式。 sudo apt update -y sudo apt install zfsutils-linux -y sudo zpool create iotdata mirror /dev/sdh /dev/sdi sudo zfs create iotdata/tf sudo zpool status -v 生成测试文件 使用脚本创建150个文件,大小1k~10MB随机,且生成每个文件的md5校验值到/opt目录下,脚本内容如下, #!/bin/bash # @Time : 2024/5/29 23:20 # @Author : Attaboy # @Email : [email protected] #…

Continue Reading

局域网抓包dhcp查看客户端租期

[TOC] 背景 20240417发现局域网内的三个主机老是ssh断联,所以就怀疑是否ip地址冲突,ip地址冲突的原因可能是dhcp获取ip地址的时间很短,所以想确定下当前局域网内的dhcp租期。 本方法适用于懒得用Windows主机连接当前局域网查看租期,恰好局域网内有Linux主机的场景。 查看DHCP租期方法 在Linux主机上,使用tcpdump,无法查看租期字段具体值。 命令如下, pc@vm-ubuntu2204:~$ sudo tcpdump -vvv -tttt -n -c 1 -i ens33 'src 172.17.1.254 and udp port 67' tcpdump: listening on ens33, link-type EN10MB (Ethernet), snapshot length 262144 bytes 2024-04-20 21:11:33.186161 IP (tos 0x0, ttl 16, id 0, offset 0, flags [none], proto UDP (17), length 328) 172.17.1.254.67 > 172.17.1.131.68:…

Continue Reading

curl发送post请求时payload带参数引用

背景 很多web页面F12抓包导出接口到curl bash脚本进行循环调用时,需要给post请求时的payload传入可变参数,遇到了一些坑,在此记录下。 curl发送post请求时payload带参数引用 正常的curl请求,payload是json格式,所以我们在拼接的时候要按照这个格式。 例如,原始payload如下, {"taskName":"deploy-task-1712447852127"} 未使用参数引擎的完整请求命令如下, curl 'http://xx.xx/xx/xx' -d '{"taskName":"deploy-task-1712447852127"}' 如果payload的时间戳会自动变化,就需要拼接payload,完整的请求命令如下, ts=$(date +%s)000 curl 'http://xx.xx/xx/xx' -d "{\"taskName\":\"deploy-task-${ts}\"}" 注意: 1、整个payload要用双引号括起来; 2、payload里的其他特殊字符使用\进行转义,如果需要批量转义payload里的双引号,可以使用如下脚本, sed -r -e 's/"/\\"/g' f.txt

Continue Reading

ubuntu开机卡在“a start job is runing for wait for Network to be configured (1min 23s / no limit)”的解决方法

背景 Ubuntu18及以上发行版安装完系统后,开机总是卡在“a start job is runing for wait for Network to be configured (1min 23s / no limit)”,大概两分钟,如下图, 解决方法 修改初始化失败后的尝试及等待时间,在service那一栏加上TimeoutStartSec=2sec即可, sudo sed -i -e '/TimeoutStartSec/d' /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service sudo sed -i -e '/RemainAfterExit=yes/aTimeoutStartSec=2sec' /etc/systemd/system/network-online.target.wants/systemd-networkd-wait-online.service sudo init 6

Continue Reading

wget下载网站整个目录

背景 有时候使用python -m http.server 8080做出来一个web服务器,给客户端下载时,不想做目录压缩,然后单个文件下载,因为压缩也耗时,所以就想用wget递归下载整个网站目录。 下载方法 下面是示例, sudo wget -c -r -np -k -L -P /mnt/4T_01/bak/home_dev_bak/S5/s5_os_bak/ -p http://172.17.1.231:8080/s5_win10_backup_20240324/

Continue Reading

Linux网络配置新工具ip命令的简单使用

ip link show # 显示网络接口信息 ip link set eth0 up # 开启网卡 ip link set eth0 down # 关闭网卡 ip link set eth0 promisc on # 开启网卡的混合模式 ip link set eth0 promisc offi # 关闭网卡的混个模式 ip link set eth0 txqueuelen 1200 # 设置网卡队列长度 ip link set eth0 mtu 1400 # 设置网卡最大传输单元 ip addr show #…

Continue Reading

Ubuntu18及以上发行版安装docker

sudo apt update -y && sudo apt upgrade -y && sudo apt full-upgrade && sudo apt autoremove -y sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg –dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update sudo…

Continue Reading

clonezilla再生龙命令行模式备份和还原

备份 备份到远程ssh目录 # 挂载远程ssh目录 sudo sshfs [email protected]:/home/kali /home/partimag # 备份 sudo /usr/sbin/ocs-sr -q2 -c -j2 -z9p -i 0 -sfsck -senc -p choose savedisk 2024-03-02-13-img sda 备份到本地磁盘 # 挂载保存镜像文件的磁盘目录到本地目录/home/partimag sudo mount /dev/sdb1 /tmp/xxx sudo mount –bind -o noatime /tmp/xxx/xxxx /home/partimag # 备份 sudo /usr/sbin/ocs-sr -q2 -c -j2 -z9p -i 0 -sfsck -senc -p poweroff savedisk autoname…

Continue Reading

linux部署go多版本工具g

安装 cd mkdir ~/.g cat << "EOF" | tee ~/.g/env #!/bin/sh # g shell setup export GOROOT="${HOME}/.g/go" export PATH="${HOME}/.g/bin:${GOROOT}/bin:$PATH" export G_MIRROR=https://golang.google.cn/dl/ EOF cat << "EOF" | tee -a ~/.bashrc # g shell setup if [ -f "${HOME}/.g/env" ]; then . "${HOME}/.g/env" fi EOF exec bash # download g wget -c https://mirror.ghproxy.com/https://github.com/voidint/g/releases/download/v1.6.0/g1.6.0.linux-amd64.tar.gz mkdir ~/.g/bin # unzip…

Continue Reading