diff --git a/Quilis.sh b/Quilis.sh new file mode 100644 index 0000000..272a8c4 --- /dev/null +++ b/Quilis.sh @@ -0,0 +1,151 @@ +#!/bin/bash + +# 脚本保存路径 +SCRIPT_PATH="$HOME/Quilis.sh" + +# 自动设置快捷键的功能 +function check_and_set_alias() { + local alias_name="quilis" + local shell_rc="$HOME/.bashrc" + + # 对于Zsh用户,使用.zshrc + if [ -n "$ZSH_VERSION" ]; then + shell_rc="$HOME/.zshrc" + elif [ -n "$BASH_VERSION" ]; then + shell_rc="$HOME/.bashrc" + fi + + # 检查快捷键是否已经设置 + if ! grep -q "$alias_name" "$shell_rc"; then + echo "设置快捷键 '$alias_name' 到 $shell_rc" + echo "alias $alias_name='bash $SCRIPT_PATH'" >> "$shell_rc" + # 添加提醒用户激活快捷键的信息 + echo "快捷键 '$alias_name' 已设置。请运行 'source $shell_rc' 来激活快捷键,或重新打开终端。" + else + # 如果快捷键已经设置,提供一个提示信息 + echo "快捷键 '$alias_name' 已经设置在 $shell_rc。" + echo "如果快捷键不起作用,请尝试运行 'source $shell_rc' 或重新打开终端。" + fi +} + +# 节点安装功能 +function install_node() { + +# 检查是否以root用户执行脚本 +if [ "$(id -u)" != "0" ]; then + echo "该脚本必须以root权限运行" 1>&2 + exit 1 +fi + +# 增加swap空间 +sudo mkdir /swap +sudo fallocate -l 24G /swap/swapfile +sudo chmod 600 /swap/swapfile +sudo mkswap /swap/swapfile +sudo swapon /swap/swapfile +echo '/swap/swapfile swap swap defaults 0 0' >> /etc/fstab + +# 向/etc/sysctl.conf文件追加内容 +echo -e "\n# 自定义最大接收和发送缓冲区大小" >> /etc/sysctl.conf +echo "net.core.rmem_max=600000000" >> /etc/sysctl.conf +echo "net.core.wmem_max=600000000" >> /etc/sysctl.conf + +echo "配置已添加到/etc/sysctl.conf" + +# 重新加载sysctl配置以应用更改 +sysctl -p + +echo "sysctl配置已重新加载" + +# 更新并升级Ubuntu软件包 +sudo apt update && sudo apt -y upgrade + +# 安装wget、screen和git等组件 +sudo apt install git ufw bison screen binutils gcc make -y + +# 安装GVM +bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) +source /root/.gvm/scripts/gvm + +gvm install go1.4 -B +gvm use go1.4 +export GOROOT_BOOTSTRAP=$GOROOT +gvm install go1.17.13 +gvm use go1.17.13 +export GOROOT_BOOTSTRAP=$GOROOT +gvm install go1.20.2 +gvm use go1.20.2 + +# 克隆仓库 +git clone https://github.com/quilibriumnetwork/ceremonyclient + +# 进入ceremonyclient/node目录 +cd ceremonyclient/node + +# 构建服务 +GOEXPERIMENT=arenas go install ./... + +# 写入服务 +sudo tee /lib/systemd/system/ceremonyclient.service > /dev/null <