wsl fix bug and init
前言最近重新用上了Windows,又开始弄wsl,发现了些小问题,分别是读宿主机的hosts和/usr/lib/wsl/lib里面本应该是链接但都是文件,于是写了个小脚本解决这个问题
脚本12345678910111213#!/bin/bashmkdir /usr/lib/wsl/lib-linkln -sf /usr/lib/wsl/lib/* /usr/lib/wsl/lib-linksed -i "s|/usr/lib/wsl/lib|/usr/lib/wsl/lib-link|g" /etc/ld.so.conf.d/ld.wsl.confcat >/etc/wsl.conf<<-EOF[automount]ldconfig = false[network]generateHosts = false[boot]systemd = trueEOF
ArchLinux 本地安装 GNS3 模拟器
GNS3是什么GNS3 是思科公司开源的网络模拟器,与packet tracer不同,packet tracer是纯软件模拟,而GNS3是更高级的模拟器,网络设备都是跑的虚拟机,需要自行准备网络设备的镜像;windows和macos的可以运行在虚拟机里面,此时网络设备就是嵌套虚拟化的;而Linux直接运行于本地,此时网络设备可以是qemu的虚拟机,docker容器,或者Vbox的虚拟机;总的来说,这是一个很强大的网络模拟器。
安装GNS3因为我只有这一台装着ArchLinux的笔记本,所以其他系统,以及其他Linux发行版的我就不写了。
从AUR安装需要的包要提前安装好libvirt 能用KVM/QEMU
1paru -S gns3-gui gns3-server dynamips dnsmasq ubridge vpvs wireshark
启动服务这里用的用户,就是要运行GNS3的用户,用不着sudo提权
1systemctl enable gns3-server@USER --now
此用户需要属于libvirt组,免得开个KVM虚拟机还要提权; 还要属于docker组 ...
How to Use Iptables
iptables 工作过程关于iptables的工作流程,我觉得Arch wiki, 这里画的特别好, ( ^ v ^ )
表(Tables)iptables有5张表:
raw 用于配置数据包,raw 中的数据包不会被系统跟踪
filter 存放所有与防火墙相关操作的默认表
nat 用于网络地址转换
mangle 用于特定数据的修改
security 用于强制访问规则
其中filter和nat最常用。
链(Chains)
INPUT链 :处理输入数据包
OUTPUT链 :处理输出数据包
FORWARD链 :处理转发数据包
PREROUTING链 :用于目标地址转换(DNAT)
POSTOUTING链 :用于源地址转换(SNAT)
写了个很适合我自己的初始化脚本1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980#!/bin/bash ...
云计算课程总结+个人理解
以下内容部分是上课讲过的,另一部分我自行补充的 (^v^)
Linux关掉防火墙和SELinux123456systemctl disable firewalld && systemctl stop firewalld# 禁用firewalld开机自启,然后关闭firewalldsetenforce 0# 先关掉selinuxsed -i "s|SELINUX=enforcing|SELINUX=disabled|g" /etc/selinux/config# 修改selinux配置文件永久生效
LVM扩容123456789pvcreate /dev/sdc # 创建一个新的物理卷 pvs # 查看系统中所有的物理卷vgs # 查看系统中所有的卷组vgextend centos /dev/sdc # 将物理卷 /dev/sdc 添加到名为 centos 的卷组中lvs # 查看所有逻辑卷lvextend centos/root /dev/sdc # 将物理卷 /dev ...
Install Minikube on Archlinux to learn for fun
Minikube
minikube quickly sets up a local Kubernetes cluster on macOS, Linux, and Windows. We proudly focus on helping application developers and new Kubernetes users.minikube docs
Archlinux 安装前提是有docker环境,或者KVM,首选docker, 其他的需要改配置文件
1sudo pacman -S minikube kubectl
启动1234#首次启动,要拉取镜像,创建容器很慢,指定cn源minikube start --image-mirror-country='cn'#之后有了容器和镜像就不用指定镜像了#minikube start
检查pod状态1kubectl get po -A
打开dashboard1minikube dashboard
之后就可以愉快的玩耍单机部署的k8s了
ansible执行本地脚本,编译安装redis到远程服务器
配置ansible我本地的机器是archlinux, 先安装ansible
1paru -S ansible
配置/etc/ansible/hosts, 记录下服务器的IP, 以及普通用户sudo提权密码
12[centos8]192.168.56.103 ansible_become_pass="sudo_password"
发送自己的ssh公钥到服务器
1ssh-copy-id -i /home/basi/.ssh/id_rsa.pub basi@192.168.56.103
检测ansible是否配置正确,返回的结果为root则配置正确
1ansible centos8 -u basi -b --become-user root --become-method sudo -m command -a "whoami"
安装redis编写安装脚本redis-install.sh
1234567#!/bin/bashcd /optwget https://download.redis.io/redis-stable.tar.gztar -zxvf ...
linux下运行flutter doctor Android Studio 报错 Unable to find bundled Java version version"解决方法
问题描述为了测试自己写的后端代码,想着用flutter弄个前端界面打包成apk;于是在我安装了Android Studio运行flutter doctor -v后,报了三个错误;
前两个都是Android toolchain的错误,到android studio里面,找到File >>Settings >> System Settings >> Android SDK >> SDK Tools >> Android SDK Command-line Tools安装,这就解决了第一个错误,之后运行flutter doctor --android-licenses,接受全部询问。到这前两个都解决了。
而第三个在Android Studio这里报的Unable to find bundled Java version.错误, 废了我好长时间,下面是我咋解决的记录。
解决方式一开始,我查资料不是windows的就是macos的,就是没找到linux的;但看了一会发现,都说是最新的Android Studio没有了jre导致的,然后通过 ...
docker-compose mariadb+redis 简单部署
安装docker和docker-compose安装这个很简单,就不写了。。。。
添加用户到docker组把操作docker的用户,添加到docker组,这样就不用每次都要切root或者输入sudo密码(啥都用root用户是一种愚蠢的行为。。。小声)
1sudo usermod -a -G docker username
新建文件夹,创建docker-compose.yml 文件12mkdir testcd test && vim docker-compose.yml
docker-compose.yml 内容1234567891011121314151617181920212223242526272829303132# Use root/123456 as user/password for mariadb# adminer is a simple tool to control mariadb# Use 123456 as redis passwordversion: '3.1'services: mariadb: image: maria ...
golang flutter hover 构建好康的软件
前言突然想弄个GUI的程序玩玩,但想着Gtk和Qt我这种菜鸡估计也整不明白,于是就盯上了flutter; 把UI当成web写这样能简单些,搭配着go-flutter+hover这两个包和golang我就能,前后端都简单的弄出来,还能把弄好的打包成appimage; 因此本文记录一下,从环境到打包出appimage的过程
安装golang 安装我用着Archlinux 就直接用包管理器安装了, 毕竟滚动发行版包总是最新的
1sudo pacman -S go
设置一下go env, 使得可以使用go mod 和 go get 国内提速
12go env -w GO111MODULE="auto"go env -w GOPROXY=https://goproxy.cn,direct
在.bashrc或.zshrc添加$GOPATH/bin到PATH, 具体加到哪里取决于用户shell是哪个
1234if [ -d "$HOME/go/bin" ];then export PATH="$PATH:$HOME/go/bin" ...
启用gnome-keying 让vscode能保持登陆
前言在使用dwm之类的窗口管理器,之前也没装过gnome这类的桌面环境,在一个新鲜的环境下,vscode 会去使用gnome-keying来存储登陆信息,而又因为环境中没有gnome-keying,所以vscode每次打开都要重新登陆; 因此本文记录一下,我配置gnome-keying,并登陆自启的过程。
安装gnome-keying12sudo pacman -S gnome-keyring libsecret# libsecret授予其他应用程序访问密钥环的权限
可选的GUI管理工具
1sudo pacman -S seahorse
PAM 自动解锁密钥环编辑 /etc/pam.d/login 文件,在 auth 部分的末尾添加 auth optional pam_gnome_keyring.so,在 session 末尾添加 session optional pam_gnome_keyring.so auto_start
#%PAM-1.0
auth required pam_securetty.soauth requisite pam_n ...