记录一些杂七杂八的东西
- golang
# studygolang.com
wget https://studygolang.com/dl/golang/go1.14.linux-amd64.tar.gz
# golang.org
wget https://dl.google.com/go/go1.14.linux-amd64.tar.gz
- nodejs
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
# for deepin 15.11 stable
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
- golang build with compress
go build -ldflags -w -o demo
- curl with proxy
# socks5
curl --socks5 主机:端口 --proxy-user 账号:密码 -XGET 目标请求地址
# http/https
curl -x 主机:端口 --proxy-user 账号:密码 目标请求地址
- grpc
# install solutions
# @see https://stackoverflow.com/questions/57700860/protoc-gen-go-program-not-found-or-is-not-executable
sudo apt install protobuf-compiler
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
# set env
export GOROOT=/usr/local/go # or other...
export GOPATH=$HOME/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT:$GOPATH:$GOBIN
- mysql
在ubuntu18+ & deepin 15+系统上比较优雅的安装方式
1.首先下载官方的配置工具
https://dev.mysql.com/downloads/repo/apt/
2.运行配置工具
sudo dpkg -i mysql-apt-config_0.8.16-1_all.deb
2.1.选择想要安装的版本,确定保存
2.2.运行命令以更新仓库
apt-get update
2.3.安装数据库软件
apt-get install mysql-server mysql-client #注意,不携带版本号
- docker
run docker without sudo
on linux
#1.create docker group (if not exist)
sudo groupadd docker
#2.add current user to docker group
sudo gpasswd -a $USER docker
#3.refresh settings
newgrp docker # or logout/login
install docker & docker compose on centos 8
#添加仓库
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
#安装
dnf install -y docker-ce docker-ce-cli containerd.io
#开启服务
systemctl enable docker
systemctl start docker
#安装docker compose
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#赋予执行权限
chmod +x /usr/local/bin/docker-compose
- 开放端口
firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --reload
- goland
multiple select shortcuts:
Alt
+ J
on Linux and Windows, Ctrl
+ G
on Mac OS X
- git
保持同步复刻
# 设置关联
git remote add upstream 原项目地址
# 查看关联情况
git remote -v
# 拉取最新
git fetch upstream
go mod拉取私有仓库支持
# 需要提前配置好访问秘钥(git+ssh)
git config --global \
url."git@example.com:keepchen/toolkit".insteadOf "https://git.example.com/keepchen/toolkit"
mac查看端口监听情况
sudo lsof -i -P | grep -i "listen"
#查看具体端口(linux同样适用)
lsof -i:端口号
- vmware
安装vmtools
# centos 8
dnf install vm-open-tools
查看共享文件夹
vmhgfs-client
挂载共享文件
vmhgfs-fuse .host:/ /要挂载到的目标路径 -o nonempty -o allow_other -o uid=1000 -o gid=1000 -o umask=022
mysql
innodb_force_recovery = 6
innodb_purge_threads = 1
解释:
innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。
具体数字对应的含义:
1-----(SRVFORCEIGNORECORRUPT):忽略检查到的corrupt页。
2-----(SRVFORCENOBACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
3-----(SRVFORCENOTRXUNDO):不执行事务回滚操作。
4-----(SRVFORCENOIBUFMERGE):不执行插入缓冲的合并操作。
5-----(SRVFORCENOUNDOLOGSCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。
6-----(SRVFORCENOLOG_REDO):不执行前滚的操作。
linux磁盘管理
1.创建物理卷
pvcreate /dev/设备名称
2.创建卷组
vgcreate VG_NAME /dev/设备名称
3.创建逻辑卷
lvcreate -l 100%VG -n LV_NAME VG_NAME
4.挂载磁盘到目录
echo "/dev/VG_NAME/LV_NAME /path/to/dir ext4 defaults 0 0" >> /etc/fstab
# 测试挂载
mount -a
添加磁盘并扩展空间
6.创建物理卷
pvcreate /dev/设备名称
7.将物理卷加入卷组
vgextend VG_NAME /dev/设备名称
8.扩展逻辑卷空间
lvextend -l 100%VG /dev/VG_NAME/LV_NAME
此时使用
df -hl
查看挂载文件空间发现容量并未更新,需要手动更新
9.更新容量
resize2fs /dev/VG_NAME/LV_NAME