在智算云平台上使用 File Browser 管理数据
File Browser 是一个强大的文件管理工具,支持通过 Web 界面轻松管理服务器上的文件。本教程将指导你如何在智算云平台的开发机或 AICoder 上安装和使用 File Browser。
TIP
- AICoder 即将集成 File Browser 体验。AICoder 文件传输选项还包括 SCP/SFTP(AICoder)。
- 开发机文件传输选项还包括 FileZilla、SCP/SFTP(开发机)。
File Brower 简介
File Browser 提供了直观的 Web 界面,支持上传、删除、预览、重命名文件和文件夹等操作,可极大方便大家上传和管理大文件和文件夹。
安装 File Browser
一键安装
如果能熟练解决科学上网问题,可使用以下一键安装脚本。
curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash
手动安装(适合国内网络环境)
你也可以使用我们适配了国内网络环境的安装脚本。
新建安装脚本。
bashvim get.sh
将以下内容粘贴到 vim 编辑器中。
- 进入粘贴模式:
:set paste
(这可以防止自动缩进和格式化,保持脚本原有格式) - 按
i
进入插入模式 - 粘贴脚本内容
- 按
Esc
退出插入模式 - 关闭粘贴模式:
:set nopaste
- 保存并退出:
:wq
待复制
get.sh
脚本内容如下:shell#!/usr/bin/env bash # # File Browser Installer Script for AMD64 Linux # # GitHub: https://github.com/filebrowser/filebrowser # Issues: https://github.com/filebrowser/filebrowser/issues # Requires: bash, mv, rm, type, curl/wget, tar # # This script installs File Browser v2.30.0 to your path on AMD64 Linux. # Usage: # # $ bash <(curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh) # or # $ bash <(wget -qO- https://raw.githubusercontent.com/filebrowser/get/master/get.sh) # # In automated environments, you may want to run as root. install_filemanager() { trap 'echo -e "Aborted, error $? in command: $BASH_COMMAND"; trap ERR; return 1' ERR install_path="/usr/local/bin" # Fall back to /usr/bin if necessary if [[ ! -d $install_path ]]; then install_path="/usr/bin" fi # Check if sudo is needed ((EUID)) && sudo_cmd="sudo" filemanager_bin="filebrowser" filemanager_os="linux" filemanager_arch="amd64" filemanager_tag="v2.30.0" ghproxy="https://mirror.ghproxy.com/" ######################## # Download and extract # ######################## echo "Downloading File Browser $filemanager_tag for $filemanager_os/$filemanager_arch..." filemanager_file="${filemanager_os}-${filemanager_arch}-filebrowser.tar.gz" filemanager_url="${ghproxy}https://github.com/filebrowser/filebrowser/releases/download/${filemanager_tag}/${filemanager_file}" echo "Download URL: $filemanager_url" if type -p curl >/dev/null 2>&1; then curl -L --progress-bar "$filemanager_url" -o "/tmp/$filemanager_file" elif type -p wget >/dev/null 2>&1; then wget --show-progress -q "$filemanager_url" -O "/tmp/$filemanager_file" else echo "Aborted, could not find curl or wget" return 7 fi echo "Extracting..." tar -xzf "/tmp/$filemanager_file" -C "/tmp/" "$filemanager_bin" chmod +x "/tmp/$filemanager_bin" echo "Installing File Browser to $install_path (may require password)" $sudo_cmd mv "/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" fi $sudo_cmd rm -- "/tmp/$filemanager_file" if type -p $filemanager_bin >/dev/null 2>&1; then echo "Successfully installed File Browser $filemanager_tag" trap ERR return 0 else echo "Something went wrong, File Browser is not in your path" trap ERR return 1 fi } install_filemanager
NOTE
粘贴大段代码到 vim 时,使用
:set paste
非常重要。它可以防止 vim 的自动缩进和其他格式化功能,确保脚本保持原有的格式和缩进。这对于 shell 脚本尤其重要,因为不正确的缩进可能导致脚本无法正常运行。- 进入粘贴模式:
给脚本添加执行权限。
bashchmod +x get.sh
安装 File Browser。
bashbash get.sh
启动 File Browser 服务
File Browser 主命令为 filebrowser
,格式如下,默认会占用 8080 端口。
filebrowser -r /path/to/your/files
例如,让 FileBrowser 服务托管 Ubuntu 服务器上所有用户的主目录(/home
)目录
filebrowser -r /home
例如,让 FileBrowser 服务托管 Ubuntu 服务器上 Jane Doe 的主目录(/home/janedoe
)。
filebrowser -r /home/janedoe
例如,让 FileBrowser 服务托管 /
目录,使用非默认端口 8089
。
filebrowser -r / --port 8089
使用 tmux 启动 File Browser 服务
上面的启动方式无法在退出 SSH 会话后保持 File Browser 服务持续运行。为了让 File Browser 在退出 SSH 会话后继续运行,可以使用 tmux:
创建名为
filebrowser
的新 tmux 会话:bashtmux new -s filebrowser
在 tmux 会话中启动 File Browser:
bashfilebrowser -r / --port 8089
分离 tmux 会话(保持服务在后台运行):按
Ctrl+B
,然后按D
现在,即使关闭 SSH 连接,File Browser 也会继续运行。
在需要重新进入到运行 filebrowser
的会话时,执行以下操作:
查看现有的 tmux 会话:
bashtmux ls
重新连接到 File Browser 会话:
bashtmux attach -t filebrowser
通过上述 tmux 命令,你可以:
- 创建一个新的 tmux 会话并在其中运行 File Browser
- 分离会话,使 File Browser 在后台继续运行
- 列出所有正在运行的 tmux 会话
- 重新连接到 File Browser 会话以查看或管理服务
在本地访问 File Brower 界面
为了在本地访问开发机或 AICoder 内部运行的 File Brower 服务,我们还需要在本地计算机上完成端口转发设置。
NOTE
请提前确保本地计算机可 SSH 远程登录开发机或 AICoder。
假设用户 Jane Doe 设置了 FileBrowser 服务托管 /
目录,使用非默认端口 8089
,如何在本地访问 FileBrowser 的 Web 界面呢?
首先,我们需要获取开发机或 AICoder 的 SSH 登录信息。
开发机
登录智算云平台,获取开发机的 SSH 服务的公网 IP 地址,登录用户名,和 SSH 服务端口号。
在本地计算机上,设置 SSH 本地端口转发。
ssh -N -f -L 5009:127.0.0.1:8089 -p 43500 root@219.135.228.245
在上述命令中,部分示例值需要替换为你的开发机的对应实际值:
5009
:这是在本地设备上访问 File Browser 服务的端口号,可保持不变。8089
:这是开发机内部 File Brower 服务监听的端口号,可保持不变。43500
:登录开发机的 SSH 登录端口号,必须改为实际值。请登录云平台,从开发机的 SSH 连接命令中获取。root
:默认 SSH 登录用户名(部分旧版实例展示为非 root 普通用户名,请重启)。219.135.228.245
:开发机的 SSH 服务的 IP 地址,必须改为实际值。请登录云平台,从开发机的 SSH 连接命令中获取。
NOTE
上面使用了 SSH -L 的方式设置了端口转发。如需了解更多细节,可参考教程SSH 端口转发:公网访问开发机内 HTTP 服务。
AICoder
登录智算云平台,打开 AICoder Shell,获取 AICoder 的 SSH Jumper 服务地址,登录用户名,和 AICoder ID。
在本地计算机上,设置 SSH 本地端口转发。
ssh -L 5009:127.0.0.1:8089 -N -f -J ssh-jumper.cloud.infini-ai.com root@aic-c7lkg5b23mieqw7d
在上述命令中,部分示例值需要替换为你的 AICoder 的对应实际值:
5009
:这是在本地设备上访问 File Browser 服务的端口号,可保持不变。127.0.0.1:8089
:这是 AICoder 内部 File Brower 服务监听的地址和端口号,可保持不变。
ssh-jumper.cloud.infini-ai.com
: SSH 跳板机,固定不变。
root
:默认 SSH 登录用户名(部分旧版实例展示为非 root 普通用户名,请重启)。aic-c7lkg5b23mieqw7d
:AICoder ID,必须改为实际值。请登录云平台,从 AICoder 的 SSH 连接命令中获取前缀为aic-
的字符串。
NOTE
安全起见,AICoder 不会直接向公网暴露访问地址。我们提供了一种 SSH 跳转机(ssh-jumper.cloud.infini-ai.com
)中转的解决方案。如果遇到 SSH 连接问题,可参考 AICoder 文档 在本地连接到 AICoder Shell。
首次登录
在浏览器中打开 http://localhost:5009
即可访问 FileBrowser 的 Web 界面(5009 是上一步中指定的端口号)。
使用以下默认凭据:
- 用户名:admin
- 密码:admin
登录后,请立即更改默认密码以确保安全。
修改默认语言
在浏览器中打开 http://localhost:5009/settings/profile
,可将 File Browser 的默认语言改为简体中文,然后点击更新。
终止 SSH 端口转发
当你不再需要访问 File Browser 服务时,应该终止 SSH 端口转发连接。这可以通过以下步骤完成:
找到 SSH
bashps aux | grep "ssh -N -f -L"
或者对于 AICoder:
bashps aux | grep "ssh -L.*-N -f -J"
你会看到类似这样的输出:
user 1234 0.0 0.0 42532 784 ? Ss 10:00 0:00 ssh -N -f -L 5009:127.0.0.1:8089 -p 43500 root@219.135.228.245
记下进程 ID(PID),这里是 1234。
终止该进程:
bashkill 1234
替换 1234 为你在第 2 步中看到的实际 PID。
通过这些步骤,你可以安全地关闭 SSH 端口转发连接。当你再次需要访问 File Browser 服务时,只需重新执行之前的 SSH 端口转发命令。
注意事项
- 请确保你有权限访问和管理指定的目录。
- 定期备份重要数据。
- 不要在公共网络上暴露 File Browser,始终通过 SSH 隧道访问。
- 及时更新 File Browser 以获得最新的功能和安全修复。
通过使用 File Browser,可以更高效地管理智算云平台上的文件,无需记忆复杂的命令行操作。希望本教程能帮你充分利用这个强大的工具!