#!/bin/bash # vsftpd 离线安装脚本 # 使用方法:./vsftpd-offline-install.sh set -e echo "开始 vsftpd 离线安装..." # 检查是否为 root 用户 if [ "$EUID" -ne 0 ]; then echo "请使用 root 权限运行此脚本" exit 1 fi # 定义离线包目录 OFFLINE_DIR="./vsftpd-offline" DEB_DIR="$OFFLINE_DIR/debs" # 检查离线包是否存在 if [ ! -d "$OFFLINE_DIR" ]; then echo "错误:找不到离线包目录 $OFFLINE_DIR" echo "请先准备离线包,方法:" echo "1. 在有网络的机器上运行:" echo " mkdir -p $DEB_DIR" echo " cd $DEB_DIR" echo " apt download vsftpd" echo " apt download \$(apt-cache depends vsftpd | grep Depends | cut -d: -f2 | tr -d ' ')" echo "2. 将整个 $OFFLINE_DIR 目录拷贝到目标机器" exit 1 fi # 安装 deb 包 echo "安装 vsftpd 及依赖包..." cd "$DEB_DIR" dpkg -i *.deb || apt-get install -f -y # 检查安装状态 if systemctl is-active --quiet vsftpd; then echo "vsftpd 安装成功并已启动" else echo "启动 vsftpd 服务..." systemctl start vsftpd systemctl enable vsftpd fi echo "vsftpd 离线安装完成!" echo "配置文件位置: /etc/vsftpd.conf" echo "服务状态: $(systemctl is-active vsftpd)"