From 16dc42a6fdbf430ff67bbad7680f4576d15f53aa Mon Sep 17 00:00:00 2001 From: wukongdaily <2666180@gmail.com> Date: Mon, 30 Sep 2024 16:47:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E4=BB=B6=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=99=A8=E7=AB=AF=E5=8F=A3=E4=B8=BA38080=EF=BC=8C?= =?UTF-8?q?=E5=9C=A8=E9=A3=9E=E7=89=9BOS=E5=BC=80=E6=9C=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E8=BF=BD=E5=8A=A0=E6=96=87=E4=BB=B6=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=99=A8=E5=9C=B0=E5=9D=80=E5=92=8C=E7=AB=AF=E5=8F=A3=E5=8F=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- e20c/kvm.sh | 88 ++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 71 insertions(+), 17 deletions(-) diff --git a/e20c/kvm.sh b/e20c/kvm.sh index f295880..da9dfcb 100644 --- a/e20c/kvm.sh +++ b/e20c/kvm.sh @@ -51,7 +51,7 @@ commands=( ["更新脚本"]="update_scripts" ) -update_e20c_kernel(){ +update_e20c_kernel() { sudo armbian-update -k 6.1 } @@ -84,7 +84,15 @@ install_docker() { # 安装QEMU/KVM虚拟机管理器 install_virt_manager() { sudo apt-get install -y gconf2 qemu-system-arm qemu-utils qemu-efi ipxe-qemu libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager seabios vgabios gir1.2-spiceclientgtk-3.0 xauth fonts-wqy-microhei - sudo apt install qemu-kvm -y + sudo apt install qemu-kvm -y + check_kvm +} +check_kvm() { + if [ -c /dev/kvm ]; then + green "KVM is installed successfully." + else + red "KVM is not installed. Your system may not support KVM virtualization." + fi } # 卸载QEMU/KVM虚拟机管理器 uninstall_virt_manager() { @@ -114,7 +122,6 @@ uninstall_cockpit() { sudo nft delete table ip filter } - # 允许虚拟机通过指定的桥接网卡收发数据 add_nft_rules_for_bridge() { apt install nftables -y @@ -202,7 +209,7 @@ install_filemanager() { green "Aborted, unsupported or unknown OS: $uname" return 6 fi - green "Downloading File Browser for $filemanager_os/$filemanager_arch..." + green "正在下载文件管理器($filemanager_os/$filemanager_arch) 请稍等..." if type -p curl >/dev/null 2>&1; then net_getter="curl -fsSL" elif type -p wget >/dev/null 2>&1; then @@ -213,21 +220,18 @@ install_filemanager() { fi filemanager_file="${filemanager_os}-$filemanager_arch-filebrowser$filemanager_dl_ext" filemanager_url="https://cafe.cpolar.cn/wkdaily/filebrowser/raw/branch/main/$filemanager_file" - echo "$filemanager_url" # Use $PREFIX for compatibility with Termux on Android rm -rf "$PREFIX/tmp/$filemanager_file" ${net_getter} "$filemanager_url" >"$PREFIX/tmp/$filemanager_file" - green "Extracting..." + green "下载完成 正在解压..." case "$filemanager_file" in *.zip) unzip -o "$PREFIX/tmp/$filemanager_file" "$filemanager_bin" -d "$PREFIX/tmp/" ;; *.tar.gz) tar -xzf "$PREFIX/tmp/$filemanager_file" -C "$PREFIX/tmp/" "$filemanager_bin" ;; esac chmod +x "$PREFIX/tmp/$filemanager_bin" - - green "Putting filemanager in $install_path (may require password)" $sudo_cmd mv "$PREFIX/tmp/$filemanager_bin" "$install_path/$filemanager_bin" if setcap_cmd=$(PATH+=$PATH:/sbin type -p setcap); then $sudo_cmd $setcap_cmd cap_net_bind_service=+ep "$install_path/$filemanager_bin" @@ -235,8 +239,7 @@ install_filemanager() { $sudo_cmd rm -- "$PREFIX/tmp/$filemanager_file" if type -p $filemanager_bin >/dev/null 2>&1; then - green "Successfully installed" - green "安装成功,现在您可以执行第3项开启文件管理并设置自启动" + light_magenta "不依赖于docker的 文件管理器安装成功" trap ERR start_filemanager return 0 @@ -255,11 +258,32 @@ start_filemanager() { return 1 fi + # Add configuration file generation and editing + $sudo_cmd mkdir -p /etc/filebrowser + $sudo_cmd touch /etc/filebrowser/.filebrowser.json + $sudo_cmd chown $(id -u):$(id -g) /etc/filebrowser/.filebrowser.json + + # Set the desired port + desired_port="38080" + cat >/etc/filebrowser/.filebrowser.json <filebrowser.log 2>&1 & + nohup sudo filebrowser -r / --address 0.0.0.0 --port $desired_port >filebrowser.log 2>&1 & # 检查 filebrowser 是否成功启动 if [ $? -ne 0 ]; then @@ -268,15 +292,46 @@ start_filemanager() { fi local host_ip host_ip=$(hostname -I | awk '{print $1}') - green "filebrowser 文件管理器已启动,可以通过 http://${host_ip}:8080 访问" + green "filebrowser 文件管理器已启动,可以通过 http://${host_ip}:${desired_port} 访问" green "登录用户名:admin" green "默认密码:admin(请尽快修改密码)" - sudo wget -O /etc/systemd/system/filebrowser.service "https://cafe.cpolar.cn/wkdaily/zero3/raw/branch/main/filebrowser.service" + # 创建 Systemd 服务文件 + cat >/etc/systemd/system/filebrowser.service <