File Browser 安装及使用(ubuntu16.04)

本文详细介绍了在 Ubuntu 16.04 上安装和配置 File Browser 的步骤,包括使用 apt 安装,修改配置,设置监听地址、端口、语言环境和日志位置,创建用户,以及启动和访问 File Browser。通过简单的命令行操作,你可以快速开始使用这款跨平台的文件管理工具。

参考链接:https://www.mivm.cn/filebrowser/

当然英文好的大佬也可以直接参考官方文档:https://docs.filebrowser.xyz/installation

建议直接参考我下面的内容进行安装和配置,我对上面链接的博文存在错误的地方做了适当修正。

安装及配置

File Browser 适用于全平台,任何操作系统都可以安装它,当然,我会以 Linux 为主。

File Browser 在 Linux 的安装非常简单,只需要一条命令就可以搞定:curl -fsSL https://filebrowser.xyz/get.sh | bash,你也可以手动下载可执行文件进行安装:https://github.com/filebrowser/filebrowser/releases/latest

(建议直接使用命令安装,因为小编手动下载后不知道如何安装了,里面也没有.sh文件)

(1)apt install curl

(2)curl -fsSL https://filebrowser.xyz/get.sh | bash

当安装好之后,你并不能立即使用它,需要修改一些配置。修改配置如下:

(3)创建配置数据库:sudo filebrowser -d /etc/filemanager/filebrowser.db config init

(4)设置监听地址:sudo filebrowser -d /etc/filemanager/filebrowser.db config set --address 0.0.0.0 (这个地方可以改成自己服务器地址如10.10.2.250)

(5)设置监听端口:sudo filebrowser -d /etc/filemanager/filebrowser.db config set --port 8088 (端口配置的时候,首先查询一下端口是否被占用,使用一个没有被占用的端口)

(6)设置语言环境:sudo filebrowser -d /etc/filemanager/filebrowser.db config set --locale zh-cn (不设置的话直接默认英文,当然也可以先不设置,待所有配置好后登陆系统之后再进行语言修改)

(7)设置日志位置:sudo filebrowser -d /etc/filemanager/filebrowser.db config set --log /var/log/filebrowser.log

(8)添加一个用户:sudo filebrowser -d /etc/filemanager/filebrowser.db users add root password --perm.admin,其中的rootpassword分别是用户名和密码,根据自己的需求更改。

(注意前面的每条命令前加上sudo,否者没有执行权限)

(9)启动file browser

配置修改好以后,就可以启动 File Browser 了,使用-d参数指定配置数据库路径。示例:filebrowser -d /etc/filemanager/filebrowser.db

(10)访问file browser,查看是否安装成功

启动成功就可以使用浏览器访问 File Browser 了,在浏览器输入 IP:端口,示例:http://192.168.1.1:8088(或10.10.2.250:8088)

然后会看到 File Browser 的登陆界面,用刚刚创建的用户登陆。

(11)登陆后修改被管理的文件夹的位置

登陆以后,默认会看到 File Browser 运行目录下的文件,需要更改一下当前用户的文件夹位置。

V1.10.0设置:

点击 [设置] → [用户设置] → 编辑用户 admin → 将目录范围改为你想要显示的文件夹,例如:/mnt → 修改完成后点击最下方的保存即可。

V2.0.3设置

点击【设置】→【全局设置】→【用户默认设置】→ 将目录范围改为你想要显示的文件夹,如/home/ubuntu/workspace/zgd→点击保存

这样,File Browser 的基本安装和配置就搞定了。

 

 

 

root@4a39b502e13d:/nvmp_source_dir/sdk/soc/ssc30x/mpp/ssc308/interface# make gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.12' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) make -C /nvmp_source_dir/sdk/soc/ssc30x/linux-5.10.117 M=/nvmp_source_dir/sdk/soc/ssc30x/mpp/ssc308/interface modules make[1]: Entering directory '/nvmp_source_dir/sdk/soc/ssc30x/linux-5.10.117' make[2]: Entering directory '/nvmp_source_dir/sdk/soc/ssc30x/linux-5.10.117' CC [M] /nvmp_source_dir/sdk/soc/ssc30x/mpp/ssc308/interface/tp_rc.o cc1: error: plugin support is disabled; configure with --enable-plugin cc1: error: plugin support is disabled; configure with --enable-plugin cc1: error: plugin support is disabled; configure with --enable-plugin cc1: error: unrecognized command line option '-Wno-typedef-redefinition' [-Werror] cc1: all warnings being treated as errors scripts/Makefile.build:273: recipe for target '/nvmp_source_dir/sdk/soc/ssc30x/mpp/ssc308/interface/tp_rc.o' failed make[3]: *** [/nvmp_source_dir/sdk/soc/ssc30x/mpp/ssc308/interface/tp_rc.o] Error 1 Makefile:2030: recipe for target '/nvmp_source_dir/sdk/soc/ssc30x/mpp/ssc308/interface' failed make[2]: *** [/nvmp_source_dir/sdk/soc/ssc30x/mpp/ssc308/interface] Error 2 make[2]: Leaving directory '/nvmp_source_dir/sdk/soc/ssc30x/linux-5.10.117' makefile:22: recipe for target 'modules' failed make[1]: *** [modules] Error 2 make[1]: Leaving directory '/nvmp_source_dir/sdk/soc/ssc30x/linux-5.10.117' Makefile:27: recipe for target 'all' failed make: *** [all] Error 2 gcc -v显示--enable-plugin,为什么还会报错呢?
03-13
<think>嗯,用户的问题是关于在使用make编译时出现的错误,具体是gcc的插件支持被禁用了,尽管gcc -v显示配置中有--enable-plugin。我需要仔细分析这个问题。 首先,用户提供的日志中有几个关键错误: 1. `cc1: error: plugin support is disabled; configure with --enable-plugin`:这说明在编译时,GCC的插件支持没有被启用,导致无法加载某些插件。 2. `cc1: error: unrecognized command line option '-Wno-typedef-redefinition'`:这个选项在GCC 5.4中可能不被支持,导致编译失败。 3. 由于所有警告被视为错误(-Werror),所以即使是一个小警告也会中断编译。 接下来,用户疑惑的是为什么gcc -v显示配置中包含--enable-plugin,但仍然报错。可能的原因有几个: 首先,检查GCC的配置信息。用户提供的gcc -v输出确实显示配置时用了--enable-plugin,所以理论上插件支持是开启的。但实际编译时却提示插件支持被禁用,这可能意味着实际使用的GCC版本或构建配置与预期不同。比如,可能存在多个GCC版本,而实际编译时使用的是另一个未启用插件的版本。需要确认编译时实际调用的GCC路径是否与用户执行的gcc -v一致。 其次,编译内核模块时可能使用了不同的编译器选项或环境变量。例如,内核构建系统可能会覆盖某些编译器选项,或者使用交叉编译工具链,其中插件支持未被正确配置。需要检查Makefile中是否指定了特定的CC变量,或者是否有其他环境变量影响编译器的选择。 第三个错误关于-Wno-typedef-redefinition,这个选项在GCC 5.4中可能无效。查阅GCC文档,该选项可能是在较新版本中引入的,而旧版本不支持。这会导致编译器报错,加上-Werror后直接失败。需要修改Makefile,移除这个选项,或者降低警告被视为错误的程度。 解决方案方面,用户可能需要分步处理: 1. 确认GCC版本和配置:使用绝对路径调用gcc,检查是否有多个版本存在。例如,使用`/usr/bin/gcc -v`和`which gcc`来确认实际使用的编译器。 2. 检查内核构建系统的配置:在编译内核模块时,可能需要指定正确的编译器路径,并确保其插件支持已启用。可能需要重新配置内核的构建系统,或者调整Makefile中的CC变量。 3. 处理不支持的编译选项:找到引发-Wno-typedef-redefinition的地方,可能在Makefile或源代码的编译标志中,将其移除或替换为旧版本支持的选项。或者临时去掉-Werror,使编译继续,但这可能掩盖其他警告。 4. 更新GCC版本或使用合适的工具链:如果项目允许,升级到更高版本的GCC,或者使用厂商提供的工具链,确保插件支持和编译选项的兼容性。 此外,用户的环境可能涉及到交叉编译,特别是在嵌入式开发中,可能需要使用特定配置的交叉编译器,而非系统自带的GCC。需要确认是否应该使用交叉编译器,如arm-linux-gnueabi-gcc等,而不是x86_64-linux-gnu-gcc。 最后,可能需要查阅项目的文档或联系供应商,确认所需的编译器版本和配置,确保环境符合要求。如果问题仍然存在,可能需要重新编译GCC并启用插件支持,或者调整项目的构建配置。</think>### 问题分析 根据你提供的编译日志,主要存在两个关键错误: 1. **`cc1: error: plugin support is disabled; configure with --enable-plugin`** 尽管 `gcc -v` 显示配置中包含 `--enable-plugin`,但实际编译时仍提示插件支持未启用。 2. **`cc1: error: unrecognized command line option '-Wno-typedef-redefinition'`** 此编译选项在 GCC 5.4 中不被支持,且因 `-Werror` 导致编译终止。 --- ### 原因解析 #### 1. 插件支持报错的矛盾 虽然 `gcc -v` 显示配置时启用了 `--enable-plugin`,但实际编译时可能因以下原因导致冲突: - **多版本 GCC 共存**:系统中可能存在多个 GCC 版本,实际编译使用的 GCC 可能未启用插件支持。 - **内核模块构建的特殊性**:内核模块编译可能调用独立配置的编译器(如交叉编译器),其插件支持未正确配置。 #### 2. 不支持的编译选项 `-Wno-typedef-redefinition` - **GCC 版本兼容性**:此选项在 GCC 5.4 中无效(需更高版本支持),且因 `-Werror` 导致编译失败。 --- ### 解决方案 #### 步骤 1:确认实际使用的 GCC 版本 通过以下命令检查编译时实际调用的 GCC 路径: ```bash which gcc # 输出示例:/usr/bin/gcc # 检查编译内核模块时是否指定了其他编译器 cat /nvmp_source_dir/sdk/soc/ssc30x/linux-5.10.117/Makefile | grep "CC =" ``` #### 步骤 2:修复插件支持问题 - **方案 A**:强制指定启用插件的 GCC 路径 在编译命令中显式指定 GCC 路径: ```bash make CC=/usr/bin/gcc # 替换为实际支持插件的 GCC 路径 ``` - **方案 B**:重新编译 GCC 并启用插件 若当前 GCC 确实未启用插件,需重新编译安装: ```bash # 下载 GCC 源码并配置 ./configure --enable-plugin --prefix=/usr/local/gcc-5.4-custom make && make install ``` #### 步骤 3:移除不支持的编译选项 在 `Makefile` 中找到 `-Wno-typedef-redefinition` 并删除,或替换为兼容选项(如 `-Wno-redefinition`)。 若需临时绕过 `-Werror`,可尝试: ```bash make EXTRA_CFLAGS="-Wno-error" ``` #### 步骤 4:验证工具链兼容性 - **检查内核版本与 GCC 的匹配性**:确保内核源码与 GCC 5.4 兼容。 - **使用厂商提供的工具链**:嵌入式开发中,优先使用 SDK 配套的交叉编译器。 --- ### 附加建议 - **更新 GCC 版本**:GCC 5.4 较旧(2016 年发布),升级至 7+ 版本可能解决选项兼容性问题。 - **联系 SDK 供应商**:若问题源自 SDK 代码,需确认其支持的编译器版本及配置要求。 --- ### 总结 核心矛盾是 **实际编译环境与 SDK 要求的工具链不匹配**。需通过以下顺序排查: 1. 确认 GCC 版本和插件配置一致性 2. 修复不兼容的编译选项 3. 验证内核模块构建流程是否调用正确的工具链。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值