问题标签 [mount]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ubuntu - 如何创建一个 s3ql 文件系统并在启动时自动挂载它?
我一直在 Ubuntu 10.04 上试验s3ql,用它来挂载 Amazon S3 存储桶。但是,我真的很想自动挂载它们。有谁知道这是怎么做到的吗?
解决方案:
感谢 s3ql 的Nikratio的帮助,我终于能够在系统启动时自动安装 S3 存储桶。您肯定会想看一下手册,但这里有一些基本的操作方法!
第一步是创建一个 authinfo 文件。该文件应放置在将要使用它的用户主目录中的 .s3ql 目录中。authinfo 文件包含允许 s3ql 在不提示的情况下挂载存储桶的登录信息。下面是您的 authinfo 文件应该是什么样子的示例。第一行包含您的 Amazon 安全凭证。第二个包含存储桶的位置和密码。如果需要,您可以向此文件添加多个存储桶行,但我在此示例中仅使用一个。此时,桶密码可以是任何东西。
存储桶名称必须是唯一的。没有两个用户可以拥有相同的存储桶名称,因此最好登录 Amazon Web Services 并尝试不同的名称,直到找到可用的名称。一旦你找到了,你需要删除它,因为 s3ql 在创建你的 s3ql 文件系统时会重新创建它。如果存储桶已存在,您将收到错误消息。
要创建文件系统,请使用以下命令:
它将提示您输入加密密码。这应该与 authinfo 文件中的存储桶密码相同。
现在您的文件系统已创建,您可以使用以下命令挂载它:
当然,您的存储桶名称和挂载点会有所不同。
现在,如果我们想在启动时自动挂载这个存储桶,我们需要在 /etc/init.d 中添加一个 upstart 脚本。幸运的是,s3ql 附带了一个 s3ql.conf。
我在 mount.s3ql 命令中添加了“--allow-other”,以允许 root 以外的用户访问挂载的存储桶。
添加此脚本后,理论上您应该能够重新启动并自动挂载您的存储桶,但这是我遇到的麻烦。我的没有安装。
我的问题是由于 upstart 以 root 身份运行脚本,但我以另一个用户身份创建了文件系统。一旦我从我登录到 /root 的用户的主目录复制了 .s3ql 目录,问题就解决了。
我希望这对其他人有帮助。虽然我已经很久没有使用我安装的 S3 存储桶了,但我对我的初始测试的进展印象深刻。
此外,这个答案是在找到解决方案大约一周后写的。我想我已经涵盖了所有内容,但是如果您发现我错过了一步,请告诉我,我会添加它。您还需要阅读手册,如果您打算使用 s3ql,它真的值得一读。
filesystems - mount 系统调用是如何工作的?
我是 linux 的新手,我想了解 mount 命令的内部工作。任何人都可以指导我找到任何解释工作的好文件或书籍。如果有人能告诉我任何了解文件系统工作的好书,我将非常高兴。提前致谢。
.net - 为 .NET 安装 *nix 和 mac 文件系统的免费库?
我的应用程序是 Microsoft.NET 3.5,C#。它适用于使用 .NET API(如 File.Exists、Directory.GetFiles/GetDirectories、File.ReadAllText 等)的 Windows 文件系统。
我需要能够搜索和读取另一个文件系统上的文件,特别是 *nix 和 MacOS 文件系统,
是否有任何免费库使我能够安装此类文件系统并使用 .NET API 使用它们?
python - 如何使用 Python 根据设备名称获取卷标
我正在为 Linux 制作类似已安装设备的列表。
在程序启动时,我解析 /etc/mtab 以获取现有的挂载。要获得有关添加到系统的新挂载的通知,我正在使用 DBus,并且在消息中我得到了 volume.label 属性。有没有办法根据设备名称(如 /dev/sda1 或 /dev/sdd)获取卷标?
编辑:
一段时间后,我设法找到了解决此问题的方法。Pythongio
模块有一个名为 VolumeMonitor 的类。因此,通过迭代方法的结果来获取具有好名称和正确图标的列表很简单get_mounts()
:
您还可以获得驱动器和卷的列表。您还可以适当地连接一些信号并更新列表。一张纸条。Volume 是第一个出现在列表中并且最先触发它自己的事件的,mounts 稍后出现。因此,如果您希望维护一个活动坐骑列表,请收听mount-added
andmount-removed
发出信号,而不是volume-added
and volume-removed
。
virtual-machine - 修改虚拟机密码
我有一些虚拟机。我想编写一个脚本来自动化以下过程......
- 它将虚拟机(以 linux 作为操作系统)安装到一个位置,例如 /mnt/image
- 它修改 /etc/passwd(或等效文件)以更改用户的密码
- 卸载虚拟机
因为,我使用的是 libvirt,所以我有一些虚拟机的 qcow2 映像。要将图像安装在我的 ubuntu 上,我使用的是 nbd 模块。这是我正在尝试的命令:
它给了我错误:
当我用 nbdo 替换 nbd0p1 时,出现以下错误(尽管我不确定我要这样做)
有什么建议,可能是什么问题......?
php - 将 afp 挂载为不同的用户以进行 php 访问
我已经使用“Finder->Go->Connect to Server”将 afp 目录 afp://ServerName/Foo/ 挂载到 /Volumes/Foo,现在我正在尝试通过以下方式访问它:
但是,我得到一个
mount in terminal 给了我:afp_1VqvPY000e413wKcJE13gANY-7.2d000004 on /Volumes/Foo(afpfs,nodev,nosuid,由 daniel 安装)
所以我需要将文件夹挂载为_www,或者以某种方式允许_www 使用我的挂载。我该怎么做其中之一?我猜我想可能 su 到 _www 什么的,但我不知道如何使用终端。
android - 防止有人安装 Android SD 卡时发生崩溃
我在 SD 卡上打开了一个文件。当有人安装 SD 卡时,它最终会导致我的应用程序崩溃。我正在尝试注册 ACTION_MEDIA_EJECT 广播事件,我收到了,但似乎我来得太晚了。当我得到那个时,它已经让我的应用程序崩溃了。有没有办法在我的应用程序崩溃之前得到通知?
添加了一些非常简单的示例代码。当我这样做时,当我打开 USB(MSC 模式)时,它会导致服务崩溃。
测试.java
测试服务.java
c - 通过 /proc/mounts 监控挂载点的变化
fd_set
根据 proc 手册,可以通过打开“/proc/mounts”并在select()
调用中添加要读取的文件描述符来监视 linux 系统中的挂载点更改。
以下代码适用于 Ubuntu 9.04,而不适用于 Ubuntu 10.04(带有 2.6.32 linux 内核):
文件描述符在一台机器上始终是可读的,因此它会在 select 调用中不断弹出。即使坐骑没有变化。
我在这里错过了什么吗?
提前感谢您的帮助!
/proc/[pid]/mounts(自 Linux 2.4.19 起)
这是当前挂载在进程挂载命名空间中的所有文件系统的列表。该文件的格式记录在 fstab(5) 中。从内核版本 2.6.15 开始,该文件是可轮询的:打开文件进行读取后,该文件的更改(即文件系统挂载或卸载)导致 select(2) 将文件描述符标记为可读,并且 poll( 2) 和 epoll_wait(2) 将文件标记为有错误条件。
.net - 如何使用 .NET 访问 VMWare 文件系统意味着
在我的 C# 3.5 程序中,我想从 VMWare 虚拟机访问 NTFS/FAT 驱动器。我有 vmdk 文件,里面有 Windows 7。
是否有任何编程方式从 vmdk 文件挂载此类驱动器并使用常规 .NET API(如 File.ReadAllText、Directory.GetDirectories 等)访问它们?
windows - 如何在 git bash 中注册新安装的驱动器?
在我的日常工作中(我使用的是 MS Windows),我将我的 git bash(实际上为此使用console2)保持打开一整天。我也经常挂载我想与 git 一起使用的新驱动器。但是我注意到我需要退出 bash 并再次打开它以使其识别新的驱动器号。
是否有任何命令可以在 git bash 中“注册”已安装的驱动器?谢谢
编辑2:我没有任何选项可以在我自己的问题下发表评论(奇怪..?),所以我在这里发布: