核心:kkfileview的targz,和微软依赖库 LibreOffice_7.5.3.2_Linux_x86-64_deb ;
(最新版的kkfileview,targz哪里获取?自己编译源代码或网上找即可,微软依赖库自己下载or找)
#!/bin/bash
# kkFileView 极速部署脚本 - Ubuntu
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "🚀 kkFileView 极速部署开始..."
# 检查文件
echo "📁 检查文件..."
[ ! -f "$SCRIPT_DIR/kkFileView-4.4.0.tar.gz" ] && echo "❌ kkFileView-4.4.0.tar.gz 不存在!" && exit 1
[ ! -f "$SCRIPT_DIR/LibreOffice_7.5.3.2_Linux_x86-64_deb.tar.gz" ] && echo "❌ LibreOffice安装包不存在!" && exit 1
echo "✅ 文件检查完成!"
# 更新系统
echo "🔄 更新系统..."
apt update -y
# 安装JDK8
echo "☕ 检查Java环境..."
if command -v java &> /dev/null; then
JAVA_VERSION=$(java -version 2>&1 | head -n1 | awk -F '"' '{print $2}')
echo " 检测到Java版本: $JAVA_VERSION"
if [[ $JAVA_VERSION == 1.8* ]]; then
echo "✅ Java 8 已安装,跳过安装"
else
echo "🔧 安装Java 8..."
apt --fix-broken install -y
apt install -y openjdk-8-jdk
java -version
fi
else
echo "🔧 安装Java 8..."
apt --fix-broken install -y
apt install -y openjdk-8-jdk
java -version
fi
# 安装LibreOffice
echo "📄 安装LibreOffice..."
cd "$SCRIPT_DIR"
if [ ! -d "LibreOffice_7.5.3.2_Linux_x86-64_deb" ]; then
echo " 解压LibreOffice安装包..."
tar -xzf LibreOffice_7.5.3.2_Linux_x86-64_deb.tar.gz
fi
cd LibreOffice_7.5.3.2_Linux_x86-64_deb/DEBS
echo " 安装deb包..."
dpkg -i *.deb
echo " 修复依赖关系..."
apt-get install -f -y
# 部署kkFileView
echo "📦 部署kkFileView..."
cd "$SCRIPT_DIR"
if [ ! -d "kkFileView-4.4.0" ]; then
echo " 解压kkFileView..."
tar -xzf kkFileView-4.4.0.tar.gz
fi
chmod +x kkFileView-4.4.0/bin/*.sh
# 启动服务
echo "▶️ 启动服务..."
cd kkFileView-4.4.0/bin
if pgrep -f "kkFileView" > /dev/null; then
echo " 停止现有服务..."
./shutdown.sh 2>/dev/null || true
sleep 2
fi
./startup.sh
echo ""
echo "✅ 部署完成!"
# 获取IP地址并显示
LOCAL_IP=$(hostname -I | awk '{print $1}')
PUBLIC_IP=""
for service in "ifconfig.me" "ipinfo.io/ip" "icanhazip.com"; do
if PUBLIC_IP=$(curl -s --connect-timeout 3 "$service" 2>/dev/null); then
break
fi
done
echo "🌐 访问地址:"
echo " 本地访问: http://$LOCAL_IP:8012"
[ -n "$PUBLIC_IP" ] && echo " 公网访问: http://$PUBLIC_IP:8012" || echo " 公网IP: 获取失败"
echo ""
echo "常用命令:"
echo " 启动: cd $SCRIPT_DIR/kkFileView-4.4.0/bin && ./startup.sh"
echo " 停止: cd $SCRIPT_DIR/kkFileView-4.4.0/bin && ./shutdown.sh"
echo " 日志: cd $SCRIPT_DIR/kkFileView-4.4.0/bin && ./showlog.sh"