标签: fuse

可以运行多个主循环?

我正在使用libfuse和glib事件接口,我遇到了一个问题,我需要同时运行多个主循环(glib g_main_loop_runfuse_loop_mt).

我已经尝试在辅助上下文下为glib的事件循环创建一个分离的线程,例如:

static void *
event_loop(void *arg)
{
  GMainLoop *event_loop;
  GMainContext *context;    

  context = g_main_context_new();
  g_main_context_push_thread_default(context);
  event_loop = g_main_loop_new(context, FALSE);
  g_main_loop_run(event_loop);

  return NULL;
}

...

pthread_t event_thread;
pthread_attr_t thread_attr;
pthread_attr_init(&thread_attr);
pthread_attr_setdetachstate(&thread_attr, PTHREAD_CREATE_DETACHED);
event_thread = pthread_create(&event_thread, &thread_attr,
    event_loop, NULL);
Run Code Online (Sandbox Code Playgroud)

但是,glib事件循环不会接收任何触发的事件.我在这里完全偏离基地吗?解决多个主循环的正确方法是什么?

c glib fuse event-loop

7
推荐指数
2
解决办法
6100
查看次数

在不可靠的连接上挂载sshfs

我用sshfs挂载远程文件系统.如果ssh连接超时,则可能导致其他应用程序挂起(例如,仅打开本地文件的vim会话).系统恢复需要大约10分钟.即使我将远程文件系统挂载为只读,也会发生这种情况.为什么?有没有办法做sshfs挂载,以便在使用不可靠的连接(例如,wifi)时不会导致其他应用程序挂起?我不需要强大的东西,我只需要能够在远程计算机上查看文件,可以是只读的.

我使用lubuntu 12.10.

$sshfs -V
SSHFS version 2.4
FUSE library version: 2.9.0
fusermount version: 2.9.0
using FUSE kernel interface version 7.18
Run Code Online (Sandbox Code Playgroud)

fuse sshfs

7
推荐指数
2
解决办法
5868
查看次数

JBoss ESB服务器和JBoss Fuse之间的区别

JBoss ESB Server之间有什么区别(可在此处找到:http : //jbossesb.jboss.org/downloads/

和JBoss Fuse(http://www.jboss.org/products/fuse/download/

两者在功能上有何不同?

jboss esb fuse

7
推荐指数
1
解决办法
6221
查看次数

macFUSE 给出 mount_macfuse: 挂载点 ... 本身位于 macFUSE 卷上 - Apple M1 macOS 12.3

这个问题快把我逼疯了。我不断收到错误:“macFUSE 给出 mount_macfuse:挂载点 ... 本身位于 macFUSE 卷上”

我的挂载点在哪里

当我运行 sshfs --version 时,我显然没有出现正确的 FUSE 版本,根据我的安装,我在 macOS 12.3 的系统偏好设置下安装了 4.2.4

我尝试从.dmg安装FUSE,我将其删除,尝试通过brew安装..重新启动后重新启动。将操作系统升级到最新。自制软件3.4.2

运行“sshfs --version”时终端的输出

SSHFS version 2.5 (OSXFUSE SSHFS 2.5.0)
FUSE library version: 2.9.9
fuse: no mount point
Run Code Online (Sandbox Code Playgroud)

我从来没有能够使用简单的命令挂载外部主机 fs:

sudo sshfs hosta:/ ~/Desktop/2 -o defer_permissions,auto_cache,reconnect,volname=hostamnt
Run Code Online (Sandbox Code Playgroud)

谁能解释一下这个问题?

fuse sshfs osxfuse apple-m1

7
推荐指数
1
解决办法
1万
查看次数

使用zsh的compdef或者compctl完成某个目录下所有命令的_hosts

我使用 afuse 通过 sshfs 将其他主机自动挂载到我的本地文件系统。像这样:

afuse -o timeout=30 -o mount_template=sshfs -C %r:/ %m -o unmount_template=fusermount -u -z %m ~/remote/
Run Code Online (Sandbox Code Playgroud)

这很好用,但我希望能够使用我的 ~/remote 目录自动完成/TAB 命令。Zsh 认为 ~/remote 是空的,这是可以理解的,因为 afuse 是一个神奇的虚拟 FUSE 文件系统。一旦我手动输入主机,子目录就可以正常工作。例如 ~/remote/host/[TAB] 工作正常。

大多数 zsh compdef 教程都专注于为您的自定义命令构建自定义完成程序。那不是我想要的。

我一直在尝试使用 compdef 将特定目录的完成覆盖到我的主机文件中(使用内置的 _hosts 完成功能),但据我所知, compdef 基于每个命令工作。我希望我的完成者能够处理所有试图在该目录上执行普通文件/目录完成的命令。

感觉它是如此基本,以至于它是单线的,如果我知道的话。我怎样才能做到这一点?

zsh fuse sshfs zsh-completion

6
推荐指数
1
解决办法
1036
查看次数

(bash) 如何找到文件系统支持的最大文件大小?

(bash) 对于特定目录,我需要发现该文件系统支持的最大文件大小。有问题的文件系统可能是从外部 USB 介质挂载的,可能是 FAT32、NTFS、exfat 或 ext2。

我知道我可以部分猜测来自 的信息mount,但我想要一个更清晰的解决方案 - 加上在mountexfat的情况下,将文件系统类型显示为“fuseblk”。

(我正在运行 Linux 3.2.0-4-686-pae #1 SMP Debian 3.2.51-1 i686 GNU/Linux)


getconf FILESIZEBITS path不适用于fuseblk安装 exfat 文件系统:它返回 32,这是不准确的。所以这不是一个通用的解决方案。

linux filesystems bash fuse fat32

6
推荐指数
1
解决办法
8465
查看次数

使用 gcsfuse 在 docker 容器中挂载谷歌云存储桶

我正在尝试从 docker 容器中挂载一个谷歌云存储桶并收到以下错误:

[root@cdbdc9ccee5b workdir]# gcsfuse -o allow_other  --debug_gcs --key-file=/src/gcloud_service_account.json my-bucket-name /gcloud
Using mount point: /gcloud
Opening GCS connection...
Opening bucket...
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn:     setUpBucket: OpenBucket: Bad credentials for bucket "my-bucket". Check the bucket name and your credentials.
Run Code Online (Sandbox Code Playgroud)

我的凭据适用于我的主机,但不适用于正在运行的容器。API 说不要使用 root 连接,但您可以使用 -o allow_other 标志(保险丝标志)覆盖它。任何想法表示赞赏。

这是在 centos7 基础映像上运行的

fuse docker gcsfuse

6
推荐指数
2
解决办法
7972
查看次数

有人在制作中使用"Google Cloud Storage Fuse"吗?

它的性能和稳定性如何?

我希望在群集上实现这一点以避免网络或群集文件系统,它应该适合自动扩展服务器群集.但这样做涉及到什么?如价格?

google-app-engine fuse google-cloud-storage google-cloud-platform gcsfuse

6
推荐指数
0
解决办法
3603
查看次数

保险丝2和保险丝3到底有什么区别?

FUSE = 用户空间中的文件系统建议发行版同时打包一个 fuse2 和一个 fuse3(请参阅此处),并且确实如此。

这究竟是什么原因?是不是fuse3中的init代码不一样?

linux fuse

6
推荐指数
1
解决办法
4085
查看次数

是否可以在 GCP kubernetes 内运行 gcsfuse 而无需特权模式?

按照本指南,我尝试在 GKE 的 pod 内运行 gcsfuse。以下是我正在使用的部署清单:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: gcsfuse-test
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: gcsfuse-test
    spec:
      containers:
        - name: gcsfuse-test
          image: gcr.io/project123/gcs-test-fuse:latest
          securityContext:
            privileged: true
            capabilities:
              add:
                - SYS_ADMIN
          lifecycle:
            postStart:
              exec:
                command: ["mkdir", "/mnt"]
                command: ["gcsfuse", "-o", "nonempty", "cloudsql-p8p", "/mnt"]
            preStop:
              exec:
                command: ["fusermount", "-u", "/mnt"]
Run Code Online (Sandbox Code Playgroud)

但是,我想在 GKE 集群中不使用特权模式运行 gcsfuse。我认为(由于诸如此类的问题可以使用某些标志运行 docker 映像,并且无需在特权模式下运行它。

GKE 有没有办法在不以特权模式运行容器的情况下运行 gcsfuse?

fuse kubernetes gcsfuse kubernetes-pod

6
推荐指数
2
解决办法
4141
查看次数